{"version":3,"sources":["webpack:///./node_modules/protobufjs/src/rpc.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/@protobufjs/pool/index.js","webpack:///./node_modules/protobufjs/src/converter.js","webpack:///./node_modules/protobufjs/src/roots.js","webpack:///./node_modules/protobufjs/src/index-light.js","webpack:///./node_modules/protobufjs/src/method.js","webpack:///./src/components/location/LocationDetails.vue?862c","webpack:///./node_modules/protobufjs/src/writer.js","webpack:///./src/components/executions/powerExecutionParams.vue?6f8d","webpack:///./src/components/device/DeviceFileVaultKeysHistory.vue?6af6","webpack:///./node_modules/core-js/modules/es.array.reduce.js","webpack:///./node_modules/core-js/internals/to-offset.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./src/components/device/DeviceAmtLogs.vue?0762","webpack:///./src/views/DeviceDetails.vue","webpack:///./src/components/device/DeviceHardware.vue","webpack:///./src/components/errors/DisabledFeature.vue","webpack:///src/components/errors/DisabledFeature.vue","webpack:///./src/components/errors/DisabledFeature.vue?d766","webpack:///./src/components/errors/DisabledFeature.vue?178f","webpack:///src/components/device/DeviceHardware.vue","webpack:///./src/components/device/DeviceHardware.vue?28bb","webpack:///./src/components/device/DeviceHardware.vue?2e20","webpack:///./src/components/device/DeviceSoftware.vue","webpack:///src/components/device/DeviceSoftware.vue","webpack:///./src/components/device/DeviceSoftware.vue?cc60","webpack:///./src/components/device/DeviceSoftware.vue?5eea","webpack:///./src/components/device/DeviceUpdates.vue","webpack:///src/components/device/DeviceUpdates.vue","webpack:///./src/components/device/DeviceUpdates.vue?fae2","webpack:///./src/components/device/DeviceUpdates.vue?9b68","webpack:///./src/components/device/DeviceLocation.vue","webpack:///./src/components/location/LocationDetails.vue","webpack:///src/components/location/LocationDetails.vue","webpack:///./src/components/location/LocationDetails.vue?142c","webpack:///./src/components/location/LocationDetails.vue?a303","webpack:///src/components/device/DeviceLocation.vue","webpack:///./src/components/device/DeviceLocation.vue?870c","webpack:///./src/components/device/DeviceLocation.vue?0585","webpack:///./src/components/device/DeviceNetworkInterfaces.vue","webpack:///src/components/device/DeviceNetworkInterfaces.vue","webpack:///./src/components/device/DeviceNetworkInterfaces.vue?5db6","webpack:///./src/components/device/DeviceNetworkInterfaces.vue?88c7","webpack:///./src/components/device/DeviceUsers.vue","webpack:///src/components/device/DeviceUsers.vue","webpack:///./src/components/device/DeviceUsers.vue?ff66","webpack:///./src/components/device/DeviceUsers.vue?4f13","webpack:///./src/components/device/DeviceAmtLogs.vue","webpack:///src/components/device/DeviceAmtLogs.vue","webpack:///./src/components/device/DeviceAmtLogs.vue?94fc","webpack:///./src/components/device/DeviceAmtLogs.vue?a5e2","webpack:///./src/components/device/DeviceAmtDetails.vue","webpack:///src/components/device/DeviceAmtDetails.vue","webpack:///./src/components/device/DeviceAmtDetails.vue?1b60","webpack:///./src/components/device/DeviceAmtDetails.vue?57c3","webpack:///./src/components/device/DevicesOperatingSystem.vue","webpack:///src/components/device/DevicesOperatingSystem.vue","webpack:///./src/components/device/DevicesOperatingSystem.vue?22c3","webpack:///./src/components/device/DevicesOperatingSystem.vue?3f0c","webpack:///./src/components/device/DeviceSecurityFeatures.vue","webpack:///src/components/device/DeviceSecurityFeatures.vue","webpack:///./src/components/device/DeviceSecurityFeatures.vue?1f66","webpack:///./src/components/device/DeviceSecurityFeatures.vue?57b5","webpack:///./src/components/device/DeviceBootOrder.vue","webpack:///./src/mixins/validations.js","webpack:///src/components/device/DeviceBootOrder.vue","webpack:///./src/components/device/DeviceBootOrder.vue?fef3","webpack:///./src/components/device/DeviceBootOrder.vue?d52e","webpack:///./src/components/device/DevicesDiskPartitions.vue","webpack:///src/components/device/DevicesDiskPartitions.vue","webpack:///./src/components/device/DevicesDiskPartitions.vue?0e9a","webpack:///./src/components/device/DevicesDiskPartitions.vue?39d8","webpack:///./src/components/device/DeviceRemoteDesktop.vue","webpack:///./src/components/device/DeviceKVM.vue","webpack:///./src/assets/scripts/amt/amt-0.2.0.js","webpack:///./src/assets/scripts/amt/common-0.0.1.js","webpack:///./src/assets/scripts/amt/amt-redir-ws-0.1.0.js","webpack:///./src/assets/scripts/amt/zlib.js","webpack:///./src/assets/scripts/amt/zlib-inflate.js","webpack:///./src/assets/scripts/amt/amt-desktop-0.0.2.js","webpack:///src/components/device/DeviceKVM.vue","webpack:///./src/components/device/DeviceKVM.vue?1059","webpack:///./src/components/device/DeviceKVM.vue?d29a","webpack:///./src/components/device/DeviceWRTC.vue","webpack:///./src/components/device/DeviceWRTC.vue?7a0a","webpack:///./src/components/device/DeviceWRTC.vue?c4ea","webpack:///./src/components/errors/NotAuthorizedForAMTActions.vue","webpack:///src/components/errors/NotAuthorizedForAMTActions.vue","webpack:///./src/components/errors/NotAuthorizedForAMTActions.vue?bbbd","webpack:///./src/components/errors/NotAuthorizedForAMTActions.vue?40c1","webpack:///src/components/device/DeviceRemoteDesktop.vue","webpack:///./src/components/device/DeviceRemoteDesktop.vue?30a9","webpack:///./src/components/device/DeviceRemoteDesktop.vue?191d","webpack:///./src/components/device/DevicePasswordManager.vue","webpack:///./src/components/device/DevicePasswordHistory.vue","webpack:///src/components/device/DevicePasswordHistory.vue","webpack:///./src/components/device/DevicePasswordHistory.vue?b8b0","webpack:///./src/components/device/DevicePasswordHistory.vue?b0b9","webpack:///src/components/device/DevicePasswordManager.vue","webpack:///./src/components/device/DevicePasswordManager.vue?e2c7","webpack:///./src/components/device/DevicePasswordManager.vue?d5b3","webpack:///./src/components/device/DeviceOverview.vue","webpack:///src/components/device/DeviceOverview.vue","webpack:///./src/components/device/DeviceOverview.vue?d7b9","webpack:///./src/components/device/DeviceOverview.vue?0088","webpack:///./src/components/device/DeviceBitlocker.vue","webpack:///./src/components/device/DeviceBitlockerPasswordHistory.vue","webpack:///src/components/device/DeviceBitlockerPasswordHistory.vue","webpack:///./src/components/device/DeviceBitlockerPasswordHistory.vue?3f27","webpack:///./src/components/device/DeviceBitlockerPasswordHistory.vue?0b17","webpack:///./src/components/cross/ModalExecuteAction.vue","webpack:///src/components/cross/ModalExecuteAction.vue","webpack:///./src/components/cross/ModalExecuteAction.vue?1bc8","webpack:///./src/components/cross/ModalExecuteAction.vue?1562","webpack:///src/components/device/DeviceBitlocker.vue","webpack:///./src/components/device/DeviceBitlocker.vue?5615","webpack:///./src/components/device/DeviceBitlocker.vue?e214","webpack:///./src/components/device/DeviceFileVault.vue","webpack:///./src/components/device/DeviceFileVaultKeysHistory.vue","webpack:///src/components/device/DeviceFileVaultKeysHistory.vue","webpack:///./src/components/device/DeviceFileVaultKeysHistory.vue?1b41","webpack:///./src/components/device/DeviceFileVaultKeysHistory.vue?7b24","webpack:///src/components/device/DeviceFileVault.vue","webpack:///./src/components/device/DeviceFileVault.vue?0fbb","webpack:///./src/components/device/DeviceFileVault.vue?d49a","webpack:///./src/components/device/DeviceMaintenanceActions.vue","webpack:///src/components/device/DeviceMaintenanceActions.vue","webpack:///./src/components/device/DeviceMaintenanceActions.vue?bff7","webpack:///./src/components/device/DeviceMaintenanceActions.vue?3649","webpack:///./src/components/device/DeviceLogNotes.vue","webpack:///src/components/device/DeviceLogNotes.vue","webpack:///./src/components/device/DeviceLogNotes.vue?46a4","webpack:///./src/components/device/DeviceLogNotes.vue?e341","webpack:///src/views/DeviceDetails.vue","webpack:///./src/views/DeviceDetails.vue?c798","webpack:///./src/views/DeviceDetails.vue?1f92","webpack:///./node_modules/protobufjs/src/message.js","webpack:///./node_modules/core-js/modules/es.typed-array.find-last-index.js","webpack:///./node_modules/protobufjs/src/reader.js","webpack:///./node_modules/file-saver/dist/FileSaver.min.js","webpack:///./src/components/device/DeviceFileVault.vue?a3cc","webpack:///./src/components/device/DeviceBootOrder.vue?48d9","webpack:///./src/helpers/locationHelpers.js","webpack:///./node_modules/protobufjs/src/verifier.js","webpack:///./node_modules/@protobufjs/float/index.js","webpack:///./src/components/executions/deleteFilesFromFolder.vue?b392","webpack:///./node_modules/@protobufjs/path/index.js","webpack:///./node_modules/protobufjs/light.js","webpack:///./node_modules/@protobufjs/aspromise/index.js","webpack:///src/components/device/DeviceWRTC.vue","webpack:///./src/components/executions/powerExecutionParams.vue","webpack:///src/components/executions/powerExecutionParams.vue","webpack:///./src/components/executions/powerExecutionParams.vue?e69e","webpack:///./src/components/executions/powerExecutionParams.vue?6ad7","webpack:///./node_modules/core-js/modules/es.typed-array.set.js","webpack:///./src/components/device/DevicesDiskPartitions.vue?872f","webpack:///./src/components/device/DeviceUpdates.vue?a95f","webpack:///./node_modules/core-js/internals/function-uncurry-this-clause.js","webpack:///./src/components/device/DeviceLogNotes.vue?ccb9","webpack:///./node_modules/core-js/internals/array-buffer-basic-detection.js","webpack:///./node_modules/core-js/modules/es.regexp.flags.js","webpack:///./src/components/device/DeviceFileVaultKeysHistory.vue?ea70","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///./src/components/device/DevicesDiskPartitions.vue?fccd","webpack:///./node_modules/@protobufjs/eventemitter/index.js","webpack:///./node_modules/protobufjs/src/index-minimal.js","webpack:///./node_modules/@protobufjs/base64/index.js","webpack:///./node_modules/protobufjs/src/type.js","webpack:///./src/components/executions/deleteFilesFromFolder.vue","webpack:///src/components/executions/deleteFilesFromFolder.vue","webpack:///./src/components/executions/deleteFilesFromFolder.vue?2473","webpack:///./src/components/executions/deleteFilesFromFolder.vue?9a08","webpack:///./src/mixins/csv.js","webpack:///./node_modules/protobufjs/src/service.js","webpack:///./node_modules/protobufjs/src/encoder.js","webpack:///./src/components/cross/ManageGeofences.vue?645d","webpack:///./node_modules/protobufjs/src/oneof.js","webpack:///./node_modules/@protobufjs/fetch/index.js","webpack:///./src/helpers/validations.js","webpack:///./node_modules/protobufjs/src/namespace.js","webpack:///./src/components/device/DeviceKVM.vue?f329","webpack:///./node_modules/protobufjs/src/rpc/service.js","webpack:///./node_modules/protobufjs/src/mapfield.js","webpack:///./node_modules/protobufjs/src/types.js","webpack:///./node_modules/protobufjs/src/object.js","webpack:///./src/components/device/DevicesOperatingSystem.vue?9191","webpack:///./node_modules/core-js/modules/es.typed-array.at.js","webpack:///./src/components/device/DeviceSecurityFeatures.vue?4869","webpack:///./node_modules/protobufjs/src/reader_buffer.js","webpack:///./src/components/device/DeviceNetworkInterfaces.vue?a791","webpack:///./node_modules/core-js/modules/es.typed-array.find-last.js","webpack:///./src/components/device/DeviceUsers.vue?f076","webpack:///./src/components/device/DeviceSoftware.vue?305d","webpack:///./src/components/device/DeviceFileVault.vue?31f8","webpack:///./node_modules/core-js/internals/array-iteration-from-last.js","webpack:///./node_modules/protobufjs/src/util/longbits.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/protobufjs/src/field.js","webpack:///./src/components/device/DeviceMaintenanceActions.vue?45f9","webpack:///./src/components/executions/LockDeviceParameters.vue","webpack:///src/components/executions/LockDeviceParameters.vue","webpack:///./src/components/executions/LockDeviceParameters.vue?b680","webpack:///./src/components/executions/LockDeviceParameters.vue?7065","webpack:///./node_modules/recordrtc/RecordRTC.js","webpack:///./src/assets/img/map_icon.svg","webpack:///./src/components/device/DeviceLocation.vue?cfb7","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./src/components/errors/NotAuthorizedForAMTActions.vue?8c16","webpack:///./src/views/DeviceDetails.vue?f561","webpack:///./node_modules/core-js/modules/web.dom-exception.stack.js","webpack:///./node_modules/protobufjs/src/enum.js","webpack:///./node_modules/fix-webm-duration/fix-webm-duration.js","webpack:///./src/helpers/navigatorInformation.js","webpack:///./src/components/cross/TransferFileModal.vue","webpack:///src/components/cross/TransferFileModal.vue","webpack:///./src/components/cross/TransferFileModal.vue?0205","webpack:///./src/components/cross/TransferFileModal.vue?badd","webpack:///./src/components/device/DevicePasswordManager.vue?47d1","webpack:///./src/components/device/DeviceBitlocker.vue?db6f","webpack:///./node_modules/@protobufjs/utf8/index.js","webpack:///./src/components/device/DeviceBitlockerPasswordHistory.vue?e4d2","webpack:///./node_modules/protobufjs/src/util.js","webpack:///./src/components/cross/TransferFileModal.vue?ace2","webpack:///./node_modules/core-js/internals/dom-exception-constants.js","webpack:///./src/components/device/DeviceAmtDetails.vue?c6b5","webpack:///./node_modules/@protobufjs/inquire/index.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./src/components/cross/ManageGeofences.vue","webpack:///src/components/cross/ManageGeofences.vue","webpack:///./src/components/cross/ManageGeofences.vue?0743","webpack:///./src/components/cross/ManageGeofences.vue?1bf1","webpack:///./node_modules/protobufjs/src/writer_buffer.js","webpack:///./src/components/device/DevicePasswordHistory.vue?5d7d","webpack:///./node_modules/protobufjs/src/decoder.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./src/components/device/DeviceBitlockerPasswordHistory.vue?093c","webpack:///./node_modules/protobufjs/src/util/minimal.js","webpack:///./node_modules/@protobufjs/codegen/index.js","webpack:///./node_modules/core-js/internals/array-buffer-view-core.js","webpack:///./node_modules/core-js/internals/define-built-in-accessor.js","webpack:///./node_modules/protobufjs/src/root.js","webpack:///./src/components/device/DeviceHardware.vue?1ee8","webpack:///./src/components/device/DeviceWRTC.vue?156b","webpack:///./src/components/device/DeviceBitlocker.vue?0709","webpack:///./node_modules/protobufjs/src/wrappers.js","webpack:///./node_modules/core-js/internals/to-positive-integer.js"],"names":["rpc","exports","Service","uncurryThis","aCallable","NATIVE_BIND","bind","module","fn","that","undefined","apply","arguments","pool","alloc","slice","size","SIZE","MAX","slab","offset","buf","call","converter","Enum","util","genValuePartial_fromObject","gen","field","fieldIndex","prop","resolvedType","values","keys","Object","i","length","repeated","typeDefault","fullName","isUnsigned","type","genValuePartial_toObject","fromObject","mtype","fields","fieldsArray","codegen","name","resolve","safeProp","map","toObject","sort","compareFieldsById","repeatedFields","mapFields","normalFields","partOf","push","valuesById","long","low","high","unsigned","toString","toNumber","bytes","arrayDefault","Array","prototype","join","String","fromCharCode","hasKs2","index","_fieldsArray","indexOf","protobuf","load","filename","root","callback","Root","loadSync","build","encoder","decoder","verifier","ReflectionObject","Namespace","Type","Field","OneOf","MapField","Method","Message","wrappers","types","_configure","create","constructor","className","requestType","responseType","requestStream","responseStream","options","comment","parsedOptions","isObject","isString","TypeError","this","resolvedRequestType","resolvedResponseType","fromJSON","json","toJSON","toJSONOptions","keepComments","Boolean","resolved","parent","lookupType","Writer","BufferWriter","LongBits","base64","utf8","Op","len","val","next","noop","State","writer","head","tail","states","Buffer","writeByte","pos","writeVarint32","VarintOp","writeVarint64","hi","lo","writeFixed32","subarray","_push","uint32","value","int32","fromNumber","sint32","uint64","bits","from","int64","sint64","zzEncode","bool","fixed32","sfixed32","fixed64","sfixed64","float","writeFloatLE","double","writeDoubleLE","writeBytes","set","decode","string","write","fork","reset","ldelim","finish","BufferWriter_","$","$reduce","left","arrayMethodIsStrict","CHROME_VERSION","IS_NODE","STRICT_METHOD","CHROME_BUG","target","proto","forced","reduce","callbackfn","toPositiveInteger","$RangeError","RangeError","it","BYTES","isPrototypeOf","$TypeError","Prototype","render","_vm","_c","_self","selectedDevice","staticStyle","attrs","_v","staticClass","_s","on","$event","changeDevice","_l","tabUrls","tabUrl","key","class","activeTab","visible","_e","validateIfHasPermission","permissions","RUN_EXECUTIONS","dbValue","startExecution","$screen","tablet","EXPORT_REPORTS","directives","rawName","expression","slot","reportsNames","BASIC","getCSVFromApi","id","addLog","validateIfHasCapability","planCapabilities","HARDWARE_INVENTORY","DEVICES_MANAGEMENT","HARDWARE","SOFTWARE_INVENTORY","SOFTWARE","OSVendor","UPDATES_INVENTORY","UPDATES","NETWORK_INTERFACES","LOCATIONS","amtInfo","amtStatus","UNCONFIGURED","AMT_MANAGEMENT","INTEL_AMT_LOGS","SYSTEM_STATUS","DISKS","DISK_ENCRYPTION","BITLOCKER_REQUIREMENTS","SEE_BITLOCKER_PASSWORDS","BITLOCKER_PASSWORDS","loading","getTabById","ref","biosVendorIsSupported","vendor","BOOT_ORDER","inventoryQuantityPerPage","scopedSlots","_u","props","open","model","deviceValue","$$v","saveDeviceValue","status","deviceStatus","ONLINE","locationBounds","parseFloat","OSBuild","activeProfile","POWER_EXECUTIONS","OS_MANAGEMENT_EXECUTIONS","$route","params","deviceId","isRemovingDevice","staticRenderFns","deviceHardware","isPeripheral","hasCapacity","item","typeEnum","fromOS","hardwaresTypes","BATTERY","fromAmt","match","manufacturer","version","capacity","_f","toBytesMetrics","cores","physicalCores","speed","CPU","MEMORY","health","changeColorHealth","memoryMax","memorySlots","SKU","typeChassis","assetTag","audioType","in","out","Channel","main","connection","resolutionX","resolutionY","location","partNumber","serialNumber","releaseDate","updatedAt","description","crossHelper","openExternalLink","$websiteUrl","default","data","component","components","card","learnMore","osVendor","computed","findDeviceHardwareInStore","findDeviceAmtHardwareInStore","currentCompany","storeHardware","companyId","query","hList","storeAmtHardware","haList","amtHardware","osHardware","resultArray","obj","watch","created","methods","findDeviceAmtHardware","findDeviceHardware","fetchApi","createdAt","$sort","$skip","$limit","total","skipHardware","device","totalMainSoftware","softwareResult","totalData","maxQuantity","isFindSoftwarePending","currentPage","changePagination","sortTable","row","installedOn","getLicenseName","license","totalSoftware","mixins","service","uiAllPrograms","programsAndFeatures","limitSoftware","skipSoftware","sortDirection","sortField","currentPaginationQuery","queryForSearchSoftware","enabled","softwareParams","queryWithoutSpecialFilters","softwareFetchParams","queryId","softwareIds","$in","findDeviceSoftware","pendingUpdatesCount","windowsAutoUpdateStatus","updateActions","action","UPDATE_EXECUTIONS","updatesResult","isFindUpdatesPending","title","updateId","executeAction","limitUpdates","skipUpdates","message","queryForSearchUpdates","updatesParams","updatesFetchParams","updatesIds","snackBarMessage","text","run","router","locationsSelected","mapLocation","zoom","addPath","mapMarker","require","toggleInfoWindow","infoWinOpen","locationSelected","address","perimeters","filter","x","locationPerimeterType","POLYGON","perimeter","refInFor","selectedPerimeter","paths","updateEdited","MARKER","center","lat","lng","radius","radiusChanged","centerChanged","GEOFENCING","updatePerimeters","savePerimeters","locationsResult","isFindLocationsPending","changeMapMarker","isOnline","firstRecord","Date","showHideDetails","deviceSelect","city","region","country","postal","loc","split","altitude","Math","round","detectionMethod","locationDetectionMethod","IP_ADDRESS","NATIVE","WIFI","NEARBY_DEVICES","horizontalAccuracy","verticalAccuracy","publicIp","userType","publicIpOrg","gatewayMacAddress","required","LocationDetails","maxLocationsAllowed","infoContent","infoWindowPos","limitLocations","skipLocations","mvcPaths","queryForSearchLocations","enabledInDatabase","locationsParams","locationsFetchParams","locationsIds","polygonPaths","patchDeviceInfo","setTimeout","setInitialLocation","toastMessage","networkInterfaces","displayName","macAddress","IPv4","IPv6","pagination","publicIp_address","findDeviceNetworkinterfacesInStore","nList","findDeviceNetworkinterfaces","users","userName","sid","domain","lastDetection","findDeviceUsersInStore","uList","findDeviceUsers","amtLogs","initiator","event","details","time","fetchAMTLogs","skip","fetchAMTLogsAction","executionEnums","findAmtLogInStore","findAmtLog","createExecutionGroup","amtVersion","amtSku","amtCapabilities","amtMode","ENTERPRISE_MODE","CLIENT_MODE","ADMIN_MODE","redirectionPortEnabled","optInState","NECESSARY","ONLY_KVM","UNNECESSARY","amtEHBC","ENABLED","DISABLED","wirelessState","amtWirelessStatus","ENABLED_TURNED_ON","ENABLED_TURNED_ON_AND_SLEEP","NOT_SUPPORTED","getTLSName","tlsLocal","tlsRemote","amtTLS","parseEnum","OS","osArch","freezeStatus","getNameFromEnum","freezeStatusEnumValues","osBootType","bootTypeEnumValues","secureBoot","secureBootEnumValues","licenseStatus","parseInt","licenseEnumValues","osInstallationDate","firewall","antivirus","firewallEnumValues","antivirusEnumValues","bootOrder","boot","devices","supportedVendors","includes","toLowerCase","isLenovo","lenovoVendors","isHewlettPackard","isDell","names","finalBootOrder","storeStorageDisks","storeDiskPartitions","diskId","physicalId","propsDetails","position","letter","tag","some","used","changeProgressBarColorPartition","getAvailableSpacePercentByPartition","isSystemPartition","partitionType","isActive","changeProgressBarColorDisk","getAvailableSpacePercentByDisk","getAvailableSpaceByDisk","getValueFromEnum","mediaType","toUpperCase","serialNum","diskHealthStatusEnumValuesArray","vtulEnums","diskHealthStatusEnumValues","styleProgressBar","findDiskPartitionsInStore","findStorageDisksInStore","eList","dList","findDiskPartitions","findStorageDisks","storageUsedByDisk","partitionsByDisk","uniquePositions","partition","getUsedSpacePercentByDisk","getUsedSpacePercent","changeProgressBarColor","active","remoteDesktopType","shortName","icon","desktopOptions","disabled","fullscreen","desktopState","connected","connecting","waitingForRestart","connectDesktop","amtId","buttonText","disconnectDesktop","toggleFullscreen","kvmActions","executingAction","sendcad","sendWinKey","rotate","preventDefault","enableKVMAction","md5_k","abs","sin","hex_md5","str","b","c","d","j","str2","unescape","encodeURI","a","h","charCodeAt","Q","document","getElementById","QS","style","QV","y","display","ReadShort","v","p","ReadShortX","ReadInt","ReadIntX","ShortToStr","IntToStr","IntToStrX","startsWith","lastIndexOf","endsWith","CreateAmtRedirect","m","socket","host","port","user","pass","authuri","tlsv1only","inDataCount","connectstate","protocol","debugmode","amtaccumulator","amtsequence","amtkeepalivetimer","onStateChanged","Start","tls","WebSocket","window","replace","EnvrionmentSetter","getEnvironmentByIndex","onopen","xxOnSocketConnected","onmessage","xxOnMessage","onclose","xxOnSocketClosed","xxStateChange","console","log","xxSend","RedirectStartSol","RedirectStartKvm","RedirectStartIder","e","f","FileReader","readAsBinaryString","onload","xxOnSocketData","result","Blob","readAsArrayBuffer","onloadend","binary","Uint8Array","byteLength","ProcessData","cmdsize","statuscode","oemlen","Stop","authDataLen","authType","authData","authDataBuf","substring","MaxTxBuffer","TxTimeout","TxOverflowTimeout","RxTimeout","RxFlushTimeout","Heartbeat","ShortToStrX","curptr","realmlen","realm","noncelen","nonce","qoplen","qop","cnonce","xxRandomNonce","snc","extra","digest","totallen","setInterval","xxSendAmtKeepAlive","cs","readyState","OPEN","send","buffer","xxRandomNonceX","r","charAt","floor","random","pathname","newstate","close","clearInterval","ZLIB","common_initialized","Z_NO_FLUSH","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_FINISH","Z_BLOCK","Z_TREES","Z_OK","Z_STREAM_END","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_MEM_ERROR","Z_BUF_ERROR","Z_VERSION_ERROR","Z_DEFLATED","z_stream","next_in","avail_in","total_in","next_out","avail_out","total_out","msg","state","data_type","adler","input_data","output_data","error","checksum_function","gz_header","xflags","os","extra_len","extra_max","name_max","comm_max","hcrc","done","alert","DEF_WBITS","HEAD","FLAGS","TIME","EXLEN","EXTRA","NAME","COMMENT","HCRC","DICTID","DICT","TYPE","TYPEDO","STORED","COPY_","COPY","TABLE","LENLENS","CODELENS","LEN_","LEN","LENEXT","DIST","DISTEXT","MATCH","LIT","CHECK","LENGTH","DONE","BAD","MEM","SYNC","ENOUGH_LENS","ENOUGH_DISTS","ENOUGH","CODES","LENS","DISTS","inflate_table_lbase","inflate_table_lext","inflate_table_dbase","inflate_table_dext","inflate_table","codes","sym","min","max","curr","drop","huff","incr","fill","mask","here","base","base_offset","extra_offset","end","MAXBITS","table","distbits","lenbits","work","lens","lens_offset","nlen","state_codes","ndist","count","offs","op","inflate_fast","strm","start","last","beg","wsize","whave","wnext","hold","lcode","dcode","lmask","dmask","dist","from_window_offset","from_out_offset","lencode","distcode","loop","dolen","mode","dodist","sane","len_inner","new_array","ary","getarg","opts","def_value","checksum_none","inflate_state","wrap","havedict","flags","dmax","check","wbits","ncode","have","back","was","inflate_copyright","inflateResetKeep","inflateReset","windowBits","adler32","crc32","inflateInit","inflatePrime","lenfix_ary","distfix_ary","fixedtables","updatewindow","CRC2","word","hbuf","CRC4","LOAD","s","RESTORE","INITBITS","PULLBYTE","NEEDBITS","n","BITS","DROPBITS","BYTEBITS","REVERSE","q","inflate_order","inflate","flush","_in","copy","ret","inf_leave","tmp","inflateEnd","input_string","DEFAULT_BUFFER_SIZE","CreateAmtRemoteDesktop","divid","scrolldiv","_decodeLRE","ptr","width","height","datalen","runlengthdecode","subencoding","palette","rlecount","runlength","_setPixel","bpp","_putImage","spare","canvas","fillStyle","_fixColor","xx","_rotX","_rotY","fillRect","br","bm","holding","_arotX","_arotY","putImageData","pp","rotation","sparew","sparew2","spareh","spareh2","_crotX","_crotY","_SendRefresh","focusmode","df","ox","mx","oy","my","rwidth","rheight","canvasid","CanvasId","getContext","acc","ScreenWidth","ScreenHeight","useZRLE","showmouse","buttonmask","sparecache","ZRLEfirst","onScreenSizeChange","frameRateDelay","noMouseRotate","kvmDataSupported","onKvmData","onKvmDataPending","onKvmDataAck","lastKeepAlive","now","Debug","cursor","namelen","supportedEncodings","handleServerCutText","encoding","xspacecachename","createImageData","delta","dx","arr","Send","UnGrabMouseInput","UnGrabKeyInput","tcanvas","setRotation","newrotation","rw","rh","createElement","tcanvasctx","setTransform","PI","drawImage","onScreenResize","convertAmtKeyCodeTable","convertAmtKeyCode","code","shiftKey","_keyevent","k","sendkey","keyCode","kk","haltEvent","sendKvmData","shift","sendKeepAlive","SendCtrlAltDelMsg","_MouseInputGrab","_KeyInputGrab","GrabMouseInput","onmouseup","mouseup","onmousedown","mousedown","onmousemove","mousemove","GrabKeyInput","onkeyup","handleKeyUp","onkeydown","handleKeyDown","onkeypress","handleKeys","stopPropagation","mousedblclick","button","getPositionOfControl","pageX","offsetHeight","pageY","scrollTop","offsetWidth","mx2","qx","qy","ppos","parentElement","top","Control","Position","offsetLeft","offsetTop","offsetParent","programmerUiErrors","operationalUiErrors","alertBox","connectOnCreate","desktop","currentRotation","kvmBehavior","mainLayoutStyle","mounted","beforeDestroy","handleKeyPress","createDesktop","disconnectDesktopUntilRestart","CONNECT_KVM_REMOTE_DESKTOP","removeEventListeners","addEventListeners","startMouseEvents","container","adjustCanvasClient","canvasClient","remoteContainerStyle","remoteDesktopNavbarsStyle","permissionsStatus","capturePermission","screenDisplayed","openTransferFileModal","sendLocalClipboard","isWindows","sendLock","takeScreenshot","isRecording","stopRecording","startRecording","audioCallLabel","mediaStream","blockStartAudioCall","removeAudioCall","addAudioCall","isMuted","toggleMicInAudioCall","proxy","useLongNavbarVersion","currentScreen","screenNumber","screens","screen","changeScreen","currentPossibleResolution","possibleResolutions","possibleResolution","pixels","changeResolution","currentFps","possibleFps","fps","changeFPS","captureMouse","changeCaptureMouse","isInReadOnlyMode","changeIsReadOnly","canvasStyle","reviewPermissions","fileTransferModalOpen","fileTransferRemoteFolders","fileTransferReadOnlyPath","customMessage","fileTransferRemotePath","transferingFile","progressBarMessage","percentageFileTransferred","isCanceling","selectedFile","getRemoteFile","verifyFileSizeOnRemote","cancelObject","cancelFileTransfer","folderName","navigateToFolder","_m","advancedOptionsOpen","wrtcConnectionStarted","kvmConnectionStarted","handler","deep","newDevice","findStripeCustomerInfo","setBestConnectionType","forceDisconnectAll","LOCAL_PASSWORD_MANAGER","SEE_LOCAL_PASSWORDS","LOCAL_PASSWORD_EXECUTIONS","localAccountPasswordAutoChange","frecuenciesArray","find","frequency","minutes","localAccountPasswordAge","profileId","localAccount","isManagementPaused","localPasswordManagementPausedError","resumeLocalPasswordManagement","username","passwordChangeLastSuccessResultTimeStamp","passwordChangeLastResult","programmerAgentErrors","LOCAL_ACCOUNT_NOT_FOUND","localAccountPassword","getClass","getLocalAccountPassword","isGettinglocalAccountPassword","validateIfNeedReason","arg","showToastCopy","passwordChangeLastResultTimeStamp","localPasswordExpirationDate","isDeviceOnline","isAfter","toISOString","isGettingLocalUserPasswordHistory","getLocalUserPasswordHistory","expiratelocalAccountPassword","BIOS_PASSWORD_MANAGER","SEE_BIOS_PASSWORDS","BIOS_MANAGEMENT_EXECUTIONS","biosPasswordRequirements","haveWmiClasses","passwordInBios","biosPasswordAutoChange","biosPasswordAge","biosManagementPaused","biosManagementPausedError","biosPasswordValidation","resumeBiosManagement","biosErrors","biosWarnings","warning","restartToApply","biosPasswordLastSuccessResultTimeStamp","backupBiosPassword","getBackupBiosPassword","isGettingBackupBiosPassword","biosPassword","getBiosPassword","isGettingBiosPassword","biosPasswordChangeLastResult","biosPasswordLastResultTimeStamp","biosExpirationDate","restartRequired","isBefore","isGettingBiosPasswordHistory","getBiosPasswordHistory","expirateBiosPassword","SEE_AMT_PASSWORDS","AMT_MANAGEMENT_EXECUTIONS","amtPassword","getAmtPassword","isGettingAmtPassword","isLocalUserPasswordHistoryVisible","isBiosPasswordHistoryVisible","datesRange","isActiveFilter","clearFilters","itemsToReturn","items","isFindServicePending","limitItems","applicationDate","password","$parent","skipItems","serviceQuery","$gte","$lte","serviceParams","serviceFetchParams","frequencies","devicePasswordHistory","expirationType","frequenciesEnum","findLocalUsersInStore","localPasswordExpirationDateWhenSuccessChange","add","localPasswordExpirationDateWhenReveal","moment","biosExpirationDateWhenSuccessChange","biosExpirationDateWhenReveal","hasBiosPassword","restartToRetry","errors","warnings","requirements","findLocalUsers","updateLocalUser","getReason","hasModalCard","onConfirm","confirmText","confirmIcon","getInformationFromTextArea","informationIsRequired","reason","lastTimePasswordSeen","getRightFrequencyArticle","localAccountPasswordChangeOnReveal","lastTimeBiosPasswordSeen","biosPasswordChangeOnReveal","onlyOnlineDevices","showCheck","checkText","passwordField","resetDefaultPassword","resetLoginKeyChain","cb","deviceTypesEnum","UNKNOWN","enums","hardwareSerial","agentVersion","agentLastVersion","deviceGroup","planCapabilitiesEnum","FIXED_AGENT_VERSION","semverUi","compare","deviceStatusEnum","updateAgent","userId","$store","getters","getAgentColorStatus","lastSeen","getAMTColorStatus","amtStatusEnum","amtLastSeen","OFFLINE","deviceStatusColorEnum","BLUE","GRAY","CIRA_NOT_SUPPORTED","CONNECTION_ERROR","uptime","filterKey","propertyToShow","label","showStatus","showIcon","canSelectMultiple","customSort","expanded","markAsActive","deviceGroups","changeAssociatedDeviceGroup","nativeOn","saveDescription","tagData","saveTags","LowerCaseTags","showRemoveButton","openRemoveDeviceModal","deviceTypes","deviceStatusColor","deviceLockStatus","enum","emitToAgent","DeviceStatus","timeago","SearchableDropdown","findDeviceGroupInStore","$select","getDevice","findDeviceGroups","createAdminLog","employeeProfileId","executionId","devicesId","leading","tags","companyName","companyAddress","companyCity","companyCountry","companyStripeCustomerId","companyUrl","expectedText","actionTab","tabPage","isCardOpen","bitLockerCanBeEnabled","color","bitlockerRequirements","tpm","requirementStatusEnum","GOOD","deviceHardwareInStore","toFixed","uefi","bitlockerInstalled","gpt","systemPartition","encryptable","diskPartitionsInStore","osEncryptable","messageLock","GEOLOCATION_AND_LOCK_EXECUTIONS","confirmLockDevice","every","bitlockerStatus","bitlockerStatusEnum","FullyDecrypted","ENCRYPTION_EXECUTIONS","getBitlockerKeys","refreshRequirements","FullyEncrypted","EncryptionInProgress","encrypt","DecryptionInProgress","decrypt","isDynamic","calculateRowClass","storeBitlockerPasswords","diskPartitionId","keyProtectorId","keyProtectorType","bitlockerRecoveryPassword","recoveryPassword","isGettingBitlockerRecoveryPassword","getBitlockerRecoveryPassword","isBootPartition","Unknown","None","Locked","encryptionPercentage","encryptionMethod","encryptionMethodEnum","protectionStatus","protectionStatusEnum","autoUnlockStatus","autoUnlockStatusEnum","pause","EncryptionSuspended","DecryptionSuspended","resume","Unprotected","enableProtection","Protected","disableProtection","osErrorMessage","validateIfOSPartitionIsEncrypted","isGettingBitlockerPasswordHistory","getBitlockerPasswordHistory","validateBitlockerAutoUnlock","enableAutoUnlock","disableAutoUnlock","isBitlockerPasswordHistoryVisible","activeBitlockerPartition","LockDeviceParameters","executeActionEnum","LOCK_DEVICE","isExecuteModalActive","diskPartition","filteredPasswords","onClose","selectAction","updateParameters","selectedDevices","onResultBeforeExecuteAction","onExecution","beforeExecuteAction","defaultParameters","parametersToExecute","requirementStatus","bitlocker","bitlockerPasswordHistory","bootTypeEnum","hardwareTypes","findBitlockerPasswordsInStore","findDeviceInStore","osPartition","osPartitionEncrypted","osPartitionEncryptionStatus","storageDisksInStore","response","tpmVersion","findBitlockerPasswords","bitlockerPassword","askConfirmation","enable","fileVaultError","fileVaultStatus","fileVaultStatusEnum","FULLY_DECRYPTED","currentFileVaultPassword","volumeName","encryptionManaged","getFileVaultKeyHistory","fileVaultKey","recoveryKey","isGettingfileVaultKey","getFileVaultKey","enabledUser","enabledDate","displayInvalidRecoveryKeyDate","invalidRecoveryKeyTimeStamp","isFileVaultKeyHistoryVisible","activeFileVaultPartition","filteredKeys","fileVaultKeyHistory","isGettingFileVaultKeyHistory","findFileVaultKeysInStore","findFileVaultKeys","actions","openExecutionModal","actionToExecute","executeActionComponent","actionDefaultParameters","powerActions","optimizationActions","execution","inputNote","emptyNote","saveNotes","notesResult","note","userEmail","ownerUserName","limitNotes","isLoading","skipNotes","deviceLogNotesIds","lastDeviceLogNotesFetch","initialNotes","findUserInStore","findMembershipsInStore","currentUser","memberships","isOwner","isSupportAccount","queryForSearchDeviceLogNotes","deviceLogNotesParams","noteIds","createNoteInfo","findUsers","findMemberships","addDataUsersToNotes","userData","email","lastName","metaInfo","CsvMixin","metrics","notes","tour","productTourStarted","rdTour","canStartRdTour","antivirusEnumParser","firewallEnumParser","tabTitle","getDeviceAMTInfoInStore","getDeviceInStore","findDevicesInStore","findEmployeeProfileInStore","storeDevices","showRD","preparedProfiles","url","beforeRouteLeave","findDevices","findEmployeeProfiles","getDeviceAMTInfo","patchUser","findExecution","skipGroups","deviceIndex","getTabIndex","getTabByIndex","getDetectionMethod","newData","tempData","getMetricOfCapacity","startProductTour","useModalOverlay","firstStepButtons","classes","attachTo","element","isCentered","scrollTo","buttons","startRDProductTour","endTour","productTourStatus","setActiveTab","checkIfActiveTabIsAvailable","properties","$type","encode","encodeDelimited","reader","decodeDelimited","verify","object","ArrayBufferViewCore","$findLastIndex","findLastIndex","aTypedArray","exportTypedArrayMethod","predicate","Reader","BufferReader","indexOutOfRange","writeLength","create_array","isArray","Error","isBuffer","readLongVarint","readFixed32_end","readFixed64","_slice","readFloatLE","readDoubleLE","read","skipType","wireType","BufferReader_","Long","merge","zzDecode","autoBom","warn","test","XMLHttpRequest","g","onerror","dispatchEvent","MouseEvent","createEvent","initMouseEvent","self","global","navigator","userAgent","saveAs","HTMLAnchorElement","URL","webkitURL","download","rel","href","origin","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","body","innerText","HTMLElement","safari","readAsDataURL","l","bgEnums","parseLatLng","latLng","Number","parsePerimetersFromDb","dbPerimeters","forEach","parsePerimetersToDb","verifyPerimeters","setPolygonPaths","getLength","path","getAt","point","invalid","expected","keyType","genVerifyValue","genVerifyKey","oneofs","oneofsArray","seenFirstField","optional","oneofProp","factory","Float32Array","f32","f8b","le","writeFloat_f32_cpy","writeFloat_f32_rev","readFloat_f32_cpy","readFloat_f32_rev","writeFloatBE","readFloatBE","writeFloat_ieee754","writeUint","sign","isNaN","exponent","LN2","mantissa","pow","readFloat_ieee754","readUint","uint","NaN","Infinity","writeUintLE","writeUintBE","readUintLE","readUintBE","Float64Array","f64","writeDouble_f64_cpy","writeDouble_f64_rev","readDouble_f64_cpy","readDouble_f64_rev","writeDoubleBE","readDoubleBE","writeDouble_ieee754","off0","off1","readDouble_ieee754","isAbsolute","normalize","parts","absolute","prefix","splice","originPath","includePath","alreadyNormalized","asPromise","ctx","pending","Promise","reject","err","operationalAgentErrors","operation","transferFile","wrtcConfig","peer","textInCanvas","executionStatus","remoteActionEnum","videoClient","audioClient","canvasContext","ratio","screenResolution","deviceResponse","connectionTimeout","lastCharacterTypedsded","messageFromAgent","messageFromUI","getRemoteMousePosition","remoteDesktopExecutionId","peerConnected","screenCapture","fileTransferSize","fileReceivedBuffer","fileReceivedBufferIndex","uiIsSending","uiIsReceiving","canceledTransfer","countCanceled","recorder","recordingStartTime","signalListeners","peerListeners","getExecutionInStore","shouldSendInput","getCurrentExecutionGroup","padding","createExecution","updateExecution","removeListenersDuringDiscover","transport","signalClientID","parameters","sendRemoteAction","actionToSend","executionResult","finishedOn","humanize","clearTimeout","lockKeysOnFullScreen","focusOnRemoteDesktop","preventScroll","mouseOver","mouseMove","mouseUp","mouseDown","handleMouseWheel","isIgnoredKey","isSpecialKey","getRobotJsModifiers","modifiers","isSameCharacterBeforeLongPress","handleInput","handleCompositionEnd","video","audio","fileSize","isCreating","fileReader","view","ftPeer","startPointer","changeRemoteVideo","maxResolution","handleVideoError","handleVideoPlay","removeVideoListeners","addVideoListeners","handlePeerConnect","drawTextInCanvas","fontSize","textWidth","drawVideoInCanvas","drawVideoInCanvasLegacy","handlePeerStream","disableLogs","addSrcToElement","fileSaver","handlePeerError","handlePeerClose","showErrorAndDisconnect","finalError","trickle","config","removeSignalListeners","addSignalListeners","removePeerListeners","addPeerListeners","connect","stream","adjustCanvasClientSize","trailing","cancelEvent","createGetMousePosition","invokeSaveAsDialog","parametersEnum","NOW","changeDisplay","AFTER_SOME_TIME","timeFieldsDisplay","fieldsRequired","changeParams","timeValue","$set","timeUnit","domProps","unitTimeEnum","SECONDS","MINUTES","has","first","onResult","onUpdateParameters","validateEmptyFields","lengthOfArrayLike","toOffset","toIndexedObject","fails","Int8Array","Int8ArrayPrototype","WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS","array","Uint8ClampedArray","0","TO_OBJECT_BUG","NATIVE_ARRAY_BUFFER_VIEWS","arrayLike","src","classofRaw","ArrayBuffer","DataView","DESCRIPTORS","defineBuiltInAccessor","regExpFlags","RegExp","RegExpPrototype","FORCED","INDICES_SUPPORT","O","calls","addGetter","chr","defineProperty","get","pairs","dotAll","ignoreCase","multiline","sticky","hasIndices","getOwnPropertyDescriptor","configurable","classof","process","EventEmitter","_listeners","evt","off","listeners","emit","args","configure","roots","ceil","b64","s64","t","chunk","invalidEncoding","extensions","reserved","group","_fieldsById","_oneofsArray","_ctor","clearCache","defineProperties","fieldsById","toArray","ctor","generateConstructor","ctorProperties","oneOfGetter","oneof","oneOfSetter","nested","inherited","arrayToJSON","declaringField","resolveAll","extend","isReservedId","isReservedName","remove","onAdd","onRemove","setup","wrapper","originalThis","typeName","decorateType","folderToClean","foldersToCleanArray","folder","olderThan","frequenciesArray","getTextOptions","foldersToClean","parametersToDeleteFiles","typeOfDeleteArray","typeOfDelete","PERMANENTLY_DELETE","validateEmptyDayField","filterFrequencies","mapActions","findReport","createCsv","asExcel","devicesStatus","reports","diff","showError","fromNow","showSuccess","answer","downloadUrl","_methodsArray","addJSON","methodsArray","rpcImpl","requestDelimited","responseDelimited","method","rpcService","methodName","lcFirst","isReserved","genTypePartial","basic","mapKey","packed","fieldNames","addFieldsToParent","oneofName","fetch","inquire","fs","xhr","readFile","contents","onreadystatechange","responseText","overrideMimeType","isChrome","isOpera","isEdge","isFirefox","isSafari","_nestedArray","namespace","nestedArray","nestedJson","ns","getEnum","prev","setOptions","define","part","lookup","filterTypes","parentAlreadyChecked","found","lookupEnum","lookupTypeOrEnum","lookupService","Type_","Service_","Enum_","rpcCall","requestCtor","responseCtor","request","endedByRPC","resolvedKeyType","fieldId","fieldKeyType","fieldValueType","decorateEnum","fieldName","bake","o","defaults","emptyArray","unshift","_handleAdd","_handleRemove","getOption","setOption","ifNotSet","setParsedOption","propName","opt","hasOwnProperty","newValue","setProperty","newOpt","Root_","toIntegerOrInfinity","relativeIndex","utf8Slice","$findLast","findLast","IndexedObject","createMethod","IS_FIND_LAST_INDEX","$this","boundFunction","zero","zeroHash","fromString","toLong","fromHash","hash","toHash","part0","part1","part2","METHOD_NAME","argument","ruleRe","rule","isInteger","defaultValue","extensionField","_packed","freeze","newBuffer","emptyObject","fieldType","fieldRule","isFromModal","validateLockDevice","RecordRTC","RecordRTCConfiguration","config2","mediaRecorder","clearRecordedData","record","setState","recordingDuration","handleRecordingDuration","initRecorder","initCallback","Recorder","GetRecorderType","resumeRecording","stop","_callback","warningLog","__blob","blob","bytesToSize","autoWriteToDisk","getDataURL","dataURL","parameter","DiskStorage","Store","pauseRecording","_blob","postMessage","FileReaderSync","_mediaRecorder","Worker","mozGetUserMedia","webWorker","processInWebWorker","_function","worker","counter","onRecordingStopped","WARNING","returnObject","setRecordingDuration","getBlob","toURL","getInternalRecorder","save","fileName","getFromDisk","setAdvertisementArray","arrayOfWebPImages","advertisement","duration","image","bufferSize","sampleRate","getState","destroy","disableLogsCache","Storage","AudioContextConstructor","recorderType","WhammyRecorder","CanvasRecorder","WebAssemblyRecorder","GifRecorder","StereoAudioRecorder","MediaStreamRecorder","getTracks","MediaRecorder","mimeType","bitsPerSecond","ReadableStream","isMediaRecorderCompatible","isTypeSupported","MultiStreamRecorder","MRecordRTC","addStream","_mediaStream","gif","audioRecorder","numberOfAudioChannels","timeSlice","onTimeStamp","newStream","videoTrack","MediaStream","addTrack","videoRecorder","frameInterval","workerPath","webAssemblyPath","frameRate","bitrate","isSingleRecorder","gifRecorder","quality","blobURL","output","callback00","_audioDataURL","_videoDataURL","writeToDisk","Fetch","_type","audioDataURL","videoDataURL","gifDataURL","audioBlob","videoBlob","gifBlob","browserFakeUserAgent","getUserMedia","documentElement","appendChild","captureStream","mozCaptureStream","play","toDataURL","HTMLVideoElement","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","lastTime","currTime","getTime","timeToCall","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msCancelAnimationFrame","AudioContext","webkitAudioContext","mozAudioContext","webkitGetUserMedia","msSaveBlob","opera","isElectron","sizes","toPrecision","file","fileExtension","splitted","fileFullName","hyperlink","click","bubbles","cancelable","versions","electron","kind","setSrcObject","srcObject","mozSrcObject","getSeekableBlob","inputBlob","EBML","Decoder","tools","ebmlElms","refinedMetadataBuf","makeMetadataSeekable","metadatas","cues","metadataSize","newBlob","webkitMediaStream","track","appVersion","verOffset","ix","nAgt","fullVersion","majorVersion","arrayOfBlobs","updateTimeStamp","timestamps","getMimeType","secondObject","clearRecordedDataCB","isMediaStreamActive","ended","getArrayOfBlobs","allStates","recorderHints","canRecordMimeType","ondataavailable","recordingCallback","getNativeBlob","onstart","onpause","onresume","onstop","looper","manuallyStopped","timeslice","getAllStates","checkForInactiveTracks","jsAudioNode","leftchannel","rightchannel","recording","recordingLength","desiredSampRate","mergeLeftRightBuffers","mergeAudioBuffers","interleaved","leftBuffers","rightBuffers","internalInterleavedLength","interpolateArray","newSampleRate","oldSampleRate","fitCount","springFactor","before","after","atPoint","linearInterpolate","mergeBuffers","channelBuffer","rLength","interleave","leftChannel","rightChannel","inputIndex","writeUTFBytes","setUint8","interleavedLength","resultingBufferLength","setUint32","setUint16","volume","setInt16","noWorker","workerURL","terminate","resetVariables","isAudioProcessStarted","isPaused","context","audioInput","createMediaStreamSource","legalBufferValues","JSON","stringify","createJavaScriptNode","createScriptProcessor","intervalsBasedBuffers","right","onaudioprocess","disconnect","onAudioProcessDataAvailable","onAudioProcessStarted","inputBuffer","getChannelData","chLeft","chRight","createMediaStreamDestination","destination","htmlElement","html2canvas","isCanvasSupportsStreamCapturing","globalCanvas","mediaStreamRecorder","_isChrome","webkitRTCPeerConnection","chrome","chromeVersion","matchArray","useWhammyRecorder","HTMLCanvasElement","CanvasRenderingContext2D","canvasMediaStream","webkitCaptureStream","mdStream","whammy","frames","drawCanvasFrame","getWebPImages","nodeName","framesLength","frame","idx","framesRemaining","onEncodingCallback","webp","compile","isPausedRecording","cloneCanvas","newCanvas","grabMouse","showMousePointer","onrendered","Whammy","Video","drawFrames","paused","isStopDrawing","asyncLoop","functionToLoop","dropBlackFrames","_frames","_framesToCheck","_pixTolerance","_frameTolerance","localCanvas","context2d","resultFrames","checkUntilNotBlack","endCheckFrame","sampleColor","maxColorDifference","sqrt","pixTolerance","frameTolerance","doNotCheckNext","matchPixCount","endPixCheck","maxPixCount","finishImage","Image","imageData","getImageData","pix","currentColor","colorDifference","concat","cloneNode","onloadedmetadata","muted","_this","WhammyVideo","whammyInWebWorker","ArrayToWebM","info","checkFrames","clusterMaxDuration","doubleToString","frameNumber","clusterTimecode","clusterFrames","clusterDuration","clusterCounter","cluster","getClusterData","generateEBML","block","makeSimpleBlock","discardable","invisible","keyframe","lacing","trackNum","timecode","numToBuffer","num","reverse","strToBuffer","bitsToBuffer","pad","substr","ebml","zeroes","sizeToString","padded","parseWebP","riff","VP8","RIFF","WEBP","frameStart","getStrLength","unpadded","parseRIFF","chunks","webm","atob","init","indexedDB","db","dbVersion","dbName","onError","onsuccess","setVersion","createObjectStore","putInDB","onupgradeneeded","dataBase","dataStoreName","transaction","getFromStore","portionName","objectStore","put","GIFEncoder","script","isHTMLObject","drawVideoFrame","clearedRecordedData","lastAnimationFrame","lastFrameTime","onGifPreview","gifEncoder","addFrame","isLoadedMetaData","setRepeat","setDelay","setQuality","onGifRecordingStarted","bin","autoplay","playsInline","MultiStreamsMixer","arrayOfMediaStreams","elementClass","videos","isStopDrawingFrames","opacity","zIndex","useGainNode","drawVideosToCanvas","videosLength","fullcanvas","remaining","onRender","getMixedStream","mixedVideoStream","getMixedVideoStream","mixedAudioStream","getMixedAudioStream","capturedStream","resetVideoStreams","videoStream","audioContext","audioSources","gainNode","createGain","gain","audioTracksLength","audioSource","audioDestination","getVideo","streams","startDrawingFrames","appendStreams","releaseStreams","source","clearRect","mixer","getAllVideoTracks","tracks","previewStream","addStreams","getMixer","RecordRTCPromisesHandler","recordRTC","finished","cameraStream","controller","cvs","onplaying","frameTimeout","cameraTimer","onVideoProcessStarted","_controlledReadableStream","enqueue","then","arrayBuffer","addEventListener","timebaseDen","realtime","pipeTo","WritableStream","arrayOfBuffers","anObject","unicode","unicodeSets","getBuiltIn","createPropertyDescriptor","hasOwn","anInstance","inheritIfRequired","normalizeStringArgument","DOMExceptionConstants","clearErrorStack","IS_PURE","DOM_EXCEPTION","NativeDOMException","$DOMException","DOMExceptionPrototype","argumentsLength","stack","ERROR_HAS_STACK","DOM_EXCEPTION_HAS_STACK","descriptor","BUGGY_DESCRIPTOR","writable","FORCED_CONSTRUCTOR","DOMException","PolyfilledDOMException","PolyfilledDOMExceptionPrototype","constant","constantName","comments","enm","allow_alias","sections","doInherit","newClass","baseClass","WebmBase","WebmUint","padHex","hex","WebmFloat","WebmContainer","WebmFile","setSource","fixWebmDuration","fixDuration","toBlob","ex","updateBySource","updateByData","setData","getValue","setValue","getFloatArrayType","byteArray","floatArrayType","floatArray","readByte","firstByte","ctr","section","idHex","draft","flag","writeSections","content","contentLength","getSectionById","logger","segmentSection","infoSection","timeScaleSection","durationSection","getChromiumVersion","userAgentData","brands","brand","breadcrumbs","breadcrumb","getBackTo","onNavigateTo","pathToDir","folders","selected","noHardDiskAccessMessage","reviewDiskAccessPermissions","isGettingFolder","cancelTransferFile","fileExistInRemote","onSendToRemoteFile","isInsideFolder","isReadOnly","selectedBigFile","requestSelectedFile","fileTypesEnum","remoteDesktop","fileTypes","deviceName","onGetRemoteFile","onCancelFileTransfer","maxSizeLimit","route","initialBreadCrumbs","sendSelectedFile","finalPath","c1","c2","safePropBackslashRe","safePropQuoteRe","ucFirst","camelCaseRe","camelCase","$0","$1","decorateRoot","enumerable","decorateEnumIndex","dst","setProp","prevValue","IndexSizeError","DOMStringSizeError","HierarchyRequestError","WrongDocumentError","InvalidCharacterError","NoDataAllowedError","NoModificationAllowedError","NotFoundError","NotSupportedError","InUseAttributeError","InvalidStateError","SyntaxError","InvalidModificationError","NamespaceError","InvalidAccessError","ValidationError","TypeMismatchError","SecurityError","NetworkError","AbortError","URLMismatchError","QuotaExceededError","TimeoutError","InvalidNodeTypeError","DataCloneError","moduleName","mod","eval","IS_RIGHT","memo","addNewPath","removePath","searchAddressInput","searchLocation","onSavePerimeters","isOpen","google","geocoder","mapCenter","newPerimeters","writeStringBuffer","utf8Write","_Buffer_allocUnsafe","writeBytesBuffer","_Buffer_from","missing","rfield","isCallable","sharedKey","CORRECT_PROTOTYPE_GETTER","IE_PROTO","$Object","ObjectPrototype","getPrototypeOf","F","newError","CustomError","captureStackTrace","isNode","node","isFinite","isset","isSet","sizeOrArray","dcodeIO","key2Re","key32Re","key64Re","longToHash","longFromHash","fromBits","ProtocolError","fieldMap","longs","allocUnsafe","functionParams","functionName","Codegen","formatStringOrScope","verbose","scopeKeys","scopeParams","scopeValues","scopeOffset","Function","formatParams","formatOffset","functionNameOverride","Constructor","NATIVE_ARRAY_BUFFER","tryToString","createNonEnumerableProperty","defineBuiltIn","setPrototypeOf","wellKnownSymbol","uid","InternalStateModule","enforceInternalState","enforce","getInternalState","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","TO_STRING_TAG","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","TYPED_ARRAY_TAG_REQUIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Uint32Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isView","klass","getTypedArrayConstructor","isTypedArray","aTypedArrayConstructor","C","KEY","property","ARRAY","TypedArrayConstructor","error2","exportTypedArrayStaticMethod","makeBuiltIn","getter","setter","parse","common","deferred","files","resolvePath","sync","getBundledFileName","altname","parsed","imports","weakImports","queued","weak","readFileSync","exposeRe","tryHandleExtension","extendedType","sisterField","parse_","common_","type_url","googleApi","messageName"],"mappings":"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,WACA,gDACA,2BAIAI,aACA,gDACA,6BAIA7b,UACA,gDACA,0BAKAC,aACA,gDACA,kCACA,6BAIAC,UACA,wBACA,iDACA,2BAEAke,gBACA,sCACA,sDACA,0BAEA3e,kBACA,yBACA,qBACA,uBACA,qBACA,0BACA,4BACA,kCACA,2BACA,8DAEAG,oBACA,kCACA,4BACA,mBAEAye,iCACA,0BACA,yBACArnB,gBACA,wCACA,2BACA,IAEA,gCAIA,OAHA,2BACAE,kEAEA,GACA,aACA,iFACA,iDACAonB,qCACA,gCACA,+BACA,0CACA,MACA,OACA,gCACA,+BACA,0CACA,MACA,OACA,gCACA,+BACA,0CACA,0BACA,MACA,QACA,gCACA,+BACA,yCAGAze,mBACA,kCAIA0e,uBACA,eACAld,gEACAA,4DACAA,kEACAA,8DACAA,0DACAA,gEAGAmd,oBACA,eACAnd,6DACAA,yDACAA,+DACAA,2DACAA,uDACAA,6DAGAod,oBACA,mCACAC,qCACAA,wCAEAC,qBACA,mDACA,OAAA/I,GAAA,mBAEA,WAAAX,GAAA,GACA,MAAAD,GAAA,EACA,sEACA,+DAEA,QACA,YACAA,IACAC,KAGA,QACA,YACAA,IACAD,KAGA4J,sBACAA,sBAEA,uBACA,wBACA,IACA,kDACA,yBACA,gDACA,+CAEA,iFACA,sBACA,wBACA1sB,mCACA,SACA,wBACA,yCACAyrB,yBC1akW,MCQ9V,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBXj5B,GAAS,WAAkB,IAAIC,EAAI1F,KAAK2F,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACA,EAAG,aAAa,CAACsE,MAAM,CAAC1H,MAAOmD,EAAIya,WAAYliB,SAAS,SAAUkM,GAAMzE,EAAIya,WAAWhW,GAAK3C,WAAW,eAAe,CAAC7B,EAAG,OAAO,CAACI,MAAM,CAAC,gBAAgB,gCAAgC,CAACJ,EAAG,MAAM,CAACM,YAAY,uCAAuCsc,MAAO7c,EAAIk6B,qBAAsB75B,MAAM,CAAC,KAAO,mBAAmB0B,KAAK,mBAAmB,CAAC9B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,WAEA,2DACA,sCACA,sCAEA,KAGAr5B,SACAo5B,eACA,oBAEAtD,YACA,+BACA,cAEA,+CACA,eAEA,aAEA70B,oBACA,mBACA,sCAEAk1B,gBACAxtB,sDCzQ8W,MCQ1W,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,qBCkxBf,MAAM,YAANuxB,IAAA,mBACAziC,gBAAA,gBACAiB,qBAAA,2BACM,cAANyK,IAAA,oBACM,aAANnI,IAAA,iBACM,UAAN1B,IAAA,cACM,sBAANq8B,IAAA,eAEe,QACflpC,6BACAmS,YACAC,YACAs7B,0BAEA34B,iCACA/G,OACAiG,QACAxU,YACAwb,YACAjJ,UACA,WAGApF,SACAnN,YACAuS,UACA,WAGApD,eACAnP,YACAuS,UACA,YAIAC,OACA,OACAs5B,gBACAH,sBACAgB,eACAX,yBACAH,+BACAgB,wBACAC,qCACAC,gCACAT,gCACA/B,qCACAZ,wBACAG,iCACAoE,oBACA3iC,eACAiB,oBACAo8B,yCACAuF,mBACAr/B,gBACA1B,aACAq8B,2BAGA32B,aACA,6BAAAs7B,+BACAlF,eACA,oCACA91B,OACAD,iCACA3D,2BAGA,uCAEA6+B,+CACA,8EACA,8CAGA,mDACAhC,sDACA,0DAEA,mDACAiC,0DAPA,IASAC,wCACA,8CACA,uDACA,+DACA,wCACA,gDACAC,mDACAnE,qDAGA,4CACAiE,+EAHA,IAKAnE,8BACA,6CAEA,mDACA,2CACA,kDACAE,oDACA,2CAEA,kDAGA,kDACA,kDAGA,2CACA,2CAEA,GAlBA,IAoBAD,iBACA,qDAEAqE,sCACA,sEACA,4CAGA,iDACAH,kDAHA,IAKAI,+BACA,wCACA,+CACA,uDACA,sCACA,8CACAF,iDACAnE,mDAGA,0CACAiE,uEAHA,IAKAnC,qBACA,uCAEA,4EACA,yCACA9B,2CACA,kCAEA,yCAGA,yCACA,yCAGA,kCACA,kCAGA,GAlBA,IAqBAsE,kBACA,0CACA,6CAEA,qCACA,UAEA,8BACA,OAEA,SAEAjD,yCACA,2DACA8C,8EACA,mDAEA,MAEAtC,kCACA,oDACAsC,uEACA,4CAEA,MAEAjF,2CACA,sFACAiF,sFACA,2DAEA,MAEAtE,oCACA,+EACAsE,+EACA,oDAEA,MAEArD,4BACA,0HACA,sDAMA,OALA,6CACA,qEACApb,8BAEAA,0BACA,GAEAqZ,qCACA,uGACA,6DAKA,OAJA,IACArZ,8BAEAA,0BACA,GAEA0b,iBACA,gEACA,0BACA,sBAEAmD,iBACA,0DACA,0BACA,sBAEAtD,aACA,WAIA,OAHA,6EACAuD,2KAEA,GAEAtD,eACA,WAIA,OAHA,0CACAuD,sKAEA,GAEA1C,kBACA,0FAEAvB,2BACA,SACAE,kBACAD,mBAIA,OAFAiE,+CACAA,gDACA,IAGAn7B,OACAs1B,cACAhB,WACA,2BAGA,4CAEA,+BAGAC,SAEA3zB,QACA0zB,aACA,oBACA,qBACA,oBACA,6BACA,iBAEA,mBAGA,wCAEA,uBAGAC,UAGAt0B,UACA,iBAEAC,YACA,6BAAAk7B,sBAAAC,6BACA,0BAAA3yB,0BACA4yB,eACA,wBACAhqC,YACAuN,kBACA08B,gBACA5gC,OACA6gC,uBACAr4B,yCACAs4B,qBACAC,kBACAl4B,4DACAm4B,8BACAC,6BAIA,iCACA,6BACA,iCADA,CAIA,sCACA,IACA,+FACA,yDAAAC,WAEA,GADA,uCACA,wBAEA,YADAhzB,mEAIA,+BAeA,OAdA,kFACA,4CACAizB,iCACA,CACAt8B,OACAD,0CAGA,+DACAsJ,uFACcjY,KAAKmrC,yBAAyBnrC,KAAK2K,cAAcygC,mCAAmC9G,2BACpFtkC,KAAKokC,iBAAiBC,KAAK,GAAzC,YACA,0EAIApsB,kGACA,SAGA,MAFAA,+BACA,sCACA,KAGA,yBACA,qBACA,yBADA,CAIA,8BACA,IACA,+FACA,gDAAAgzB,WAEA,GADA,+BACA,wBAEA,YADAhzB,iDAIA,+BAeA,OAdA,iDACA,sCACAozB,qCACA,CACAz8B,OACAD,0CAGA,uDACAsJ,uFACcjY,KAAKmrC,yBAAyBnrC,KAAK2K,cAAc2gC,2BAA2BhH,2BAC5EtkC,KAAKokC,iBAAiBC,KAAK,GAAzC,YACA,kEAIApsB,kGACA,SAGA,MAFAA,+BACA,8BACA,KAGA,+BACA,2BACA,+BADA,CAIA,oCACA,IACA,+FACA,uDAAAgzB,WAEA,GADA,qCACA,wBAEA,YADAhzB,gEAIA,+BAEA,YADA,wDAGAA,kGACA,SAGA,MAFAA,+BACA,oCACA,KAGA,wBACA,oBACA,wBADA,CAIA,6BACA,IACA,+FACA,+CAAAgzB,WAEA,GADA,8BACA,wBAEA,YADAhzB,gDAIA,+BAEA,YADA,2CAGAA,kGACA,SAGA,MAFAA,+BACA,6BACA,KAGA,gCACA,qCACA,IACA,+FACA,wDAAAgzB,WAEA,GADA,sCACA,wBAEA,YADAhzB,yDAIA,+BAEA,YADA,sCAGAA,kGACA,SAGA,MAFAA,+BACA,qCACA,IAGA,qCACA,0CACA,IACA,+FACA,8DAAAgzB,WAEA,GADA,2CACA,wBAEA,YADAhzB,yDAIA,+BAEA,YADA,2CAGAA,kGACA,SAGA,MAFAA,+BACA,0CACA,IAGA,6BACA,2DACA,qDACAxF,wCACA,eACAQ,8CACAC,qBACAC,SAAAC,2EAGA,qCACA,2DACA,qDACAX,iDACA,eACAQ,gEACAC,qBACAC,SAAAC,2EAGAgyB,YACA,+BACA,cAEA,+CACA,eAEA,aAEA31B,WACA,qBACAb,OACAD,iCACA3D,4BAIA,8BACA,IACA,+FACA,qDACA,4BAEA,YADAiN,oDAGA,gCASA,GARA,sCACAyuB,wBACAY,qBACA,CACA14B,OACAD,qCAGA,iBACA,+FACA,sCAAA48B,uBACA,4BAEA,YADAtzB,6CAGAA,6DACA,4CACAA,8DACA,iFACA,wDACA,CAAAszB,wBAEA,OAEAtzB,uEACA,SAEA,MADAA,+BACA,IAGA,6BACA,wBACAvX,YACAuN,kBACA08B,gBACA5gC,OACA6gC,0CACAr4B,sCACAK,iJACAi4B,sBACAlwC,SACAqwC,yBACAQ,oDACAC,+BACAC,qBAIA,sCACA,IACA,+FACA,8DACA,4BAEA,YADAzzB,6DAGA,+BAsBA,aArBA,4CACA0sB,sBACAqE,iBACA,CACAp6B,OACAD,0CAGA,sBACAsJ,8DACA,sBACA,uBACA,oCACA,iBACAxF,gDACA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KAAK/+B,QACnBhI,qBAAA,2BACAyK,kBAAA,oBACAu8B,gBAAA,oBACApmC,cAAA,cACA7B,gBAAA,eAEe,QACfhL,sBACAmS,YACA+gC,qBACAC,gBACAC,2BACAhhC,aAEA2C,+CACA/G,OACAiG,QACAxU,YACAwb,YACAjJ,UACA,WAGApF,SACAnN,YACAuS,UACA,YAIAC,OACA,OACA89B,mBACAW,oBACAJ,wBACAe,yBACAH,iBACAV,cACAgC,WACA5gC,eACAy+B,eACArlC,eACAkE,sBAGAqD,aACA,oCAAA8gC,gCACAjB,eACA,oCACAv/B,OACAe,OAAA5T,QACAszC,gFACA1gC,oCAEA,MAEAiV,OACA,yCAEA8qB,mBACA,4CACA,4DAGAt/B,OACAm/B,UACA,iBAEAv+B,YACA,mBACA,gBAEA,iCACA,mDACA,yBAGAX,UACA,gBACA,cACA,kDACA,sEAGAC,YACA,0BAAAggC,gBAAAx3B,6BACA,qFACA,oCAAAy3B,6BACA,gCAAAP,wBACA,4BAAAQ,0BACA,iBACA,gCACA,OAEA,2DACA5gC,OACA4C,WACA7C,qCAGA,GAGA,wBAEAy/B,qEACA,yBACA,oDACAqB,uBACA9gC,oCAEA,mCACA,GACAiV,aACAzR,2DACAxD,kCAEA,uBACA,uBACA,kBACAC,OACApT,gCACAk0C,2DACAC,iCAIA,KACArB,kDACA,aACA,sCACA3gC,6BACAgB,oCAGA,yCACA,GACAiV,aACAzR,kDACAxD,kCAEA,yBACA,KAAAihC,aACA,wBACA,SACAjhC,uBAEA,oBACAC,yBAEAA,sBAEA,qCAAAA,UACA,8CAAA/G,QAAA9L,UAEAixC,qBACA,qCAEAF,uBACA,uCAEA0B,WACA,aACA,sCACAqB,kBACAlhC,qCAIA,uBACA,kCACA,6BACA,+CACA,GACAiV,aACAzR,2CACAxD,wCAEA,wBAEA,qBACA,uEACA,yBACAmhC,qCACAC,2CACAC,qCACAC,2CACAC,6DACAC,qCAEA,yBACA,UACA,sBACA,uBACA,aACA,iBACAtxB,0DACA,YAEA,sCACArN,WACAnH,oDACA,CACAuE,OACAD,2CAGA,kCACAq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iBACA,yCACA,mBACA,2CACA,kBACA,0CACA,cACA,yCACA,aACA,wCACA,eACA,2CACA,wBACA,kCACA,4CACA,uCACA,GACA,gCACA,4BAEA,sBAEA,gCAEA,gCACA,gCCvK2W,MCOvW,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCykBf,MAAAjL,qBAAA,2BACAyK,kBAAA,oBACA1L,gBAAA,gBAEA4uC,qBACApC,oBACAF,oBACAI,qBACI,IAAU1E,KAAK6G,UAEJ,QACf75C,qBACAmS,YACAC,YACA0nC,4BACA,sBAEA/kC,8BACA/G,OACAiG,QACAxU,YACAwb,YACAjJ,UACA,YAIAC,OACA,OACA8nC,sCACAC,8CACA/tC,oBACA0sC,qCACAL,qCACAzB,6BACAE,sCACA1iC,eACAwhC,uDACA+C,4BACA5tC,eACA6pC,yBACAL,cACAwE,wBACAH,6BACAC,qBACArB,wBACAF,wBACAI,0BAGAplC,aACA,gCAAA2Q,oCACA,kCAAAD,sCACA,2BAAAzQ,sCACA,sCAAAynC,0CACA,0BAAAC,2BACAC,cACA,8DAEAC,uBACA,yCACA,0DACAC,yDAKAC,sBACA,sCACAznC,OACAD,iCACA3D,2BAGA,eAEAqmC,wBACA,wCACAziC,OACAD,iCACA3D,wBACA2E,OAAAgO,eAGA,eAEAmzB,wBACA,wCACAliC,OACAD,iCACA3D,wBACAxP,6CAGA,eAEAg1C,wBACA,SACA59B,sDACA2+B,8FACAd,kBACAW,eACAE,iBACA6C,mDAGA,qEACA,0DACA,GAEAmC,iBAEA,gEACA5E,6BACA4E,mBACAA,qBACAA,oDACA,IAGA,gEACAA,qBACAA,yEAEAA,oBACAA,yDAGA,uEACAA,gEAEAA,yEAEA,KAEA5F,wBACA,SACAC,WACAQ,uBACAF,0BACAD,YACAE,YAEA,MAmBA,OAlBA,iEACA,wCACAqF,qDAGA,kEACAD,0EACA,4EAGAA,oDACA,2EAKAA,MAHA,EAGAA,sCAFAA,qCAIA,UAIAA,qEACA,2EACA,6DACA,+CACAA,uFACA,6EARA,GAYA9D,0BACA,MAUA,OATA,sCACAtzB,sCACAtQ,OACA5D,wBACA2D,iCACAgB,OAAAD,kBAIA,sBAGAN,OACApE,WACA,kBACA,uBACA,qBACA,gCAEAqmC,wBACA,iCAGAhiC,UACA,kBACA,uBACA,qBACA,gCAEAC,YACA,kCAAA8P,+BACA,gCAAAC,6BACA,2BAAA7P,+BACA,sCAAAgnC,mCACA,2BAAAhnC,4BAEA,sBACA,+BACA,YAAAM,OAAA9B,SAAA,yBACAY,OACAD,iCACA3D,uBACA4E,QACAC,aAGA,aACA,KACA,oBAGA,2BACA,+BACA,YAAAC,OAAA9B,SAAA,uBACAY,OACAD,iCACA3D,wBACA4E,QACAC,aAGA,aACA,KACA,yBAIA,sBACA,2BACA,yBACAjB,OACAD,iCACA3D,wBACAxP,8CAKA,mCACA,4DACA,YAAAsU,OAAA9B,SAAA,6BACAY,OACAD,iCACA3D,wBACA4E,QACAC,aAGA,aACA,KACA,iCAIA,wCACA,wCACA,sDADA,CAIA,wDACA,GAEA,IACA,+FACA,8DAAAo7B,WACA,4BAEA,YADAhzB,sDAGA,8BACA,2DACA,8CACAw+B,iCAEA,SACAx+B,+BACA,8DAGA,uCACA,0CACA,8CADA,CAIA,8DACA,gCACA,IACA,2DACA,qDACA48B,6CAAA5J,WACA,4BAEA,YADAhzB,8DAGA,8BACA,0CACA,+DAEA,SACAA,+BACA,iEAGAwtB,gBACAxtB,oDAEAstB,4BACA,6CACA,sBAEAsG,MAGAuI,sCACA,6CAGAvI,QAFA,2BAKAnB,iBACA,wBACAhqC,YACAuN,kBACA08B,gBACA5gC,OACA6gC,qCACAr4B,yCACAs4B,qBACAC,kBACAl4B,4DACAm4B,8BACAC,6BAIA0L,qBACA,wBACAh2C,YACAuN,kBACA08B,gBACA5gC,OACA6gC,sBACAr4B,2DACAs4B,uBACAj4B,+HAKAwyB,YACA,+BACA,cAEA,+CACA,eAEA,aAEA,iBACA,MACA,IACA3lB,GACA7B,kBAGA,2DACA,qDACAi3B,8BAAAp1B,cACA,eACAxM,0CACAC,qBACAC,SAAAC,2EAGA,iBACA,MACA,IACAqM,GACA7B,kBAGA,2DACA,qDAC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x5B,YAEArF,OACAirC,eACAx5C,YACAuS,iBAGAC,OACA,OACAw6B,cACAsP,gBACAhP,cACAI,YACA54B,gBAGAhC,UACAm6B,iBACA,kCAEAn3B,yBACA,OACAzB,uBACAD,uBAGAu5B,eACA,SACAx5B,OAAAD,cACAf,uCACA3D,qCACAynC,uCASA,OANA,sBACA7jC,aACAw6B,4CACAC,4CAGA,GAEAC,gBACA,OACA16B,UACA,+BACA,qBAIAuB,YACA,mEACA,oEACA,SAEA,cAAAyB,GAAA,yBACA,MAAA9B,GAAA,sCACA,+BAKA,OAJA,2BACA,yBAGA,IAGAR,SACAo5B,eACA,oBAEAn4B,oBACA,mBACA,sCAEA60B,YACA,+BACA,cAEA,+CACA,eAEA,aAEAK,gBACAxtB,sDC1OmX,MCS/W,I,oBAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCqNf,MAAAjQ,qBAAA,2BACAyK,kBAAA,oBACA1L,gBAAA,eACe,QACfhL,qBACAmS,YACAC,YACA4pC,wBAEAjnC,8BACA/G,OACAiG,QACAxU,YACAwb,YACAjJ,UACA,YAIAC,OACA,OACAhG,oBACA4vC,gCACAI,gCACAZ,gBACAE,yBACAlnC,eACA0mC,uDACAe,4BACA9wC,eACAwpC,cACAsE,uBAGAvmC,aACA,kCAAA0Q,sCACA,iCAAAi5B,kCAEA5G,wBACA,wCACAziC,OACAD,iCACA3D,wBACAkT,qBACAvO,OAAAgO,eAGA,eAGAq5B,2BACA,MAWA,OAVA,sCACA93B,iCACAtQ,OACA5D,wBACA2D,iCACAgB,OAAAD,cACAG,aAIA,4BAGA+mC,iBACA,kCACA,SAEA,sCACA,oFACAn3B,wBACA,CACAlN,+BACAK,iEACApX,oBAGA,gCACA,kEACAikB,4EACA,CACAlN,6BACAK,0EACApX,oBAKAk8C,gCACA,yCACA,4DAGAtoC,OACApE,WACA,uBACA,2BAEAqmC,wBACA,4BAGAhiC,UACA,uBACA,2BAEAC,YACA,kCAAA8P,+BACA,iCAAA84B,2BAEA,2BACA,+BACA,YAAApoC,OAAA9B,SAAA,yBACAY,OACAD,iC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,6BACA,uBAAAC,sBACA,8BAAAC,4BACA,4BAAA3K,0BACA,kBACA,IACA,4CACA,YACA,sBACA7C,2BACA3hC,uBACA2D,iCACAoqC,8BAEA,kBACA,kBACA9gC,yDACA,+CACA,GACA2L,aACAzR,sBACAnH,uBACA2D,wCAEA,4BAEA,kBAEA,SAEA,MADAsJ,uDACA,IAGA1H,oBACA,IACA,oBAEA,qDAEA6pC,uBACA,2BACA,kBACA,wBACAxrC,OACA/G,IACAiK,UAIA,YACA,sCAEA,IACAuoC,GACAt+C,UACAu+C,aAGA,WACAv+C,WACAw+C,QACAD,GACA,EACA,SAUA,OARAzhC,EADA,KACAA,YACA,IAEA,QAGAA,GAEA,IACA,EACAA,WACAmgC,eAGA,UAEA,iBACA,oCACApqC,OACAe,OAAAD,cACAf,iCACAkB,SACA+pC,cAGA,gCACA,gBACAhrC,OACA/G,IACAiK,OAEAjC,eC/XuW,MCQnW,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,qBC+ff,MAAM,wBAANwG,IAAA,mBACM,cAAN0/B,IAAA,mBACM,aAANruC,IAAA,iBACAM,qBAAA,2BACAjB,gBAAA,eAEe,QACfhL,qBACAy+C,WACA,eAIA,OAHA,sBACAjoC,kDAEA,CAAAA,UAEArE,YACA,oBACA,oBACA,mBACA,qBACA,wBACA,kBACA,qBACA,wBACA,8BACA,+BACA,wBACA,6BACA,yBACAC,YACA,2BACAC,iBACA,qBACA,sBACA,sBACA,gCACA,uBAEA0C,6BACA2pC,oBACAzsC,OACA,OACApE,4BACAhB,iCACA0B,0CACA3D,eACA+zC,aACAC,SACAzwC,eACAxC,gBACA8T,kBACA5N,mBACAgtC,UACAC,sBACAC,YACAC,kBACA9vC,oBACA+vC,yEACAC,uEACAjzC,oBACAjB,eACAuC,WACAqB,qBACAuwC,cAGA5sC,aACA,2BAAA6sC,mCACA,0BAAAC,uBAAAC,+BACA,oCAAAC,oCACA3yC,UACA,WACA,4BAIA,OAHA,iBACAA,6CAEA,GAEA9C,iBACA,mCAGA,mDAFA,MAIA01C,eACA,+CACA,iCACA3sC,OACAD,iCACA6C,WACA7B,OAAAtF,cAGA,eAEAuZ,OACA,yCAEA43B,SACA,gEACA,yEACA,qBACA,sEACA,iFACA,6EAEAC,mBACA,yCACA7sC,OACAe,OAAA5T,QACAszC,gFACA1gC,oCAEA,KACA,UAEApI,UACA,OACA,CACA7I,QACAmK,cACA6zC,eACA3/C,gBACAikB,yBACApZ,sCACAG,mCAGA,CACArJ,QACAmK,eACA6zC,gBACA3/C,iBACA6K,sCACAG,qCAGA,CACArJ,QACAmK,cACA6zC,eACA3/C,mBACA6K,sCACAoB,sBACA,8BACAjB,oCAGA,CACArJ,QACAmK,mBACA6zC,aACA3/C,sBACA6K,qBAEA,CACAlJ,QACAmK,cACA6zC,eACA3/C,gBACA6K,6BACA,8BACAG,kCACAA,yCACAA,qCACAA,2CACAA,oCACAA,4CACAA,mCACAA,8CAGA,CACArJ,QACAmK,iBACA6zC,kBACA3/C,mBACA6K,sCACAoB,+BACA,8DACA,8BACAjB,qCACA,sEACAA,kCACAA,0CACAA,kCACAA,uCAGA,CACArJ,QACAmK,aACA6zC,cACA3/C,YACA6K,iEACA,oEACA,cACA,oEAEA,CACAlJ,QACAmK,WACA6zC,YACA3/C,aACA6K,eAKAwI,OACAzI,aAEA,gCACA,8BACA,qBACA,qBACA,qFAIAd,oBACA,mBACA,gBAEA,iCACA,oDAEAU,UACA,qCAGA,gBACA,gBACA,sBACA,kEACA,2FAEA,mCACA,kBACAqI,OACAD,oCAGA,iBAIAswB,gBACA,oCACA,qBAIA7c,gDAEAu5B,wBACA,gCACA,oDAEAv6C,KAEA,sBAIA,kBACAwN,OACAD,oCAGA,qBACA,qDACA,0IAGAW,YACA,0BAAAggC,gBAAAx3B,wBAAA8jC,wBACA,uDACA,oCAAAC,iCACA,2BAAAC,4BACA,uBAAAC,uBACA,6BAAAC,0BACA,gCAAAhN,wBACA,4BAAAQ,0BACA,iBACA,gCACA,OAEA,sBACA,iBAEA,2DACA5gC,OACA4C,WACA7C,qCAGA,gBACA,IAGA,yBACA,oBACA,mCACA,aAGA,qCAEA,+BACA,+BACA,QACA,SAEA,SACAgB,OAAA5T,QACA6T,QACAC,UACAlB,mCAGA,MAAAmB,OAAA9B,SAAA,2BACAY,UAEA,aACAqtC,YACA,WACA,+BAIA51C,gBAEA,oEACA61C,KAEA,IACAA,6BACA,8BACAA,KAEA,yBACA,mIAGA,kBACA,uBACA,UACA,8CACAvB,iBACAhsC,oCAEAsJ,yDACA,SAEA,MADAA,uDACA,IAGA,wBACA,uBACA,UACA,8CACA/N,6BACAyE,oCAEA,+CACA,GACAiV,aACAzR,oDACAxD,iCACA3D,4CAEA,uBACAiN,+DACA,SAEA,MADAA,8DACA,IAGAkkC,eACA,8BACA,qBACA,sDACA,kBACA,6BACA,qBACA,mFAGA,UAEAC,iBACA,0CAEA7yC,cACA,uCAEA8yC,sBACA,MACA,UAuBA,OAtBAC,kBAEA,OADAC,gCACA,mBACA,QACA,sBACAA,4BACA,MACA,yBACAA,+BACA,MACA,qBACAA,2BACA,MACA,mBACAA,yBACA,MACA,6BACAA,mCACA,MAEAD,SAEA,GAEAE,uBACA,+CACA,UACA,6BACA,YACA,8BACA,0CACA,wBACA,QACA,iBAGAC,mBACA,6EACA,0BACAC,qBAEA,2BACA,WACA,aACAC,QACAC,mCACA1pC,YACAf,sBAGAwqC,QACAC,qDACA1pC,+BACAf,iDAEA,mBACA0qC,UACAC,aACA32C,UAEAy2C,uCACA1pC,8CACA6pC,cACAC,YACAC,YAEA,aACA,mBACAJ,UAAAC,yBAAA32C,UACAy2C,uCACA1pC,6DACA6pC,cACAE,SACA,CACAL,iEACA1pC,YACAf,uBAEA,CACAyqC,qCACA1pC,YACAf,YACA,qBACA,4BAOA,oBAGA+qC,qBACA,0CACA,4BACAR,qBAEA,qBACAG,UAAAC,wBAAA32C,UACAy2C,uCACA1pC,gEACA6pC,cACAE,SACA,CACAL,mCACA1pC,YACAf,YACA,uBACA,iCAGA,CACAyqC,iEACA1pC,YACAf,yBAEA,CACAyqC,qCACA1pC,YACAf,4BAIA,qBACA0qC,UAAAC,iCAAA32C,UACAy2C,uCACA1pC,0DACA6pC,cACAE,SACA,C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AslB,uEACAC,iEACA75C,mBACA85C,qDACAC,8BACAC,eACA,+BACA,+BAEAC,mBACA7nB,mBACAuC,6BACAE,mBACAC,0BACAF,4BACAF,yBACAwlB,mBACAC,wBACAC,0BACAnlB,4BACAF,mBACAC,sBACAqlB,eACAC,iBACAplB,eACAqlB,oBACAC,gBACAC,cACA/nB,eACAgoB,wBACA3nB,uBACAqB,gBACAumB,iBACA,mCACA,mCAEAC,eACA,mCACA,mCAEAzlB,oBAGAz0B,aACA,4BAAAG,wCACA,6BAAAg6C,+BACA,oCACAhoB,iBACA,gCACA,4IAEA,uDAEA7c,OACA,yCAEA8kC,kBACA,8BAEAC,2BACA,gEAEAxoB,YACA,2CAEAc,uBAEA,kDAEApB,4BACA,OACA+oB,qCACA,eAGAhpB,uBACA,OACA,sBACAgpB,YACA,wDAIAx5C,OACAi4C,gBACA3jB,WACA,IAGA,kDAQA,kDACA,+CACA,+CATA,wCACA,kCACA,4BACAjF,0CAGA,QAMAkF,SAEAikB,eACAlkB,WACA,yDACA,2CACA,yBAGAC,SAEA5E,kBACA,+BAEA8D,4BACA,+DAEA,wCACA,2BAGA7D,UACA,oEACA,0DACA,0DACA,4DACA,sDACA,sBACA,sBAEA,+BAEA,4BACA,0BAEA1vB,YACA,6BAAAu5C,yBAAAC,6BACA,mCAAA/uC,gCACA,0BACA9G,iDACA,sBACA,uBACA,aACA,iBACAR,2CACA,OAGA,8BACA,uBACA,WACA,aACAs2C,IACA/sD,QAGA,cACA+sD,IACA/sD,KAGA+sD,OACA,sDACA,qDACA,kDACA,4CACA,iDAGA,0CACA,yCACA,sCACA,gCACA,oCAEA,6BACA/f,oCACAggB,2BAIA,mCACA,IACA,SACAC,iBACA1d,sBAEA,8BACA,uBACA,oCACA,iBACAmN,EACAwQ,GAEA,wCACA,iDACA,mDAEA,SACA,0FAGA,sBACA,2CAEA,GADA,mBACA,wCAEA,YADA,yEAIA,2BAEA,wCACA,kCACAxQ,0CAGA,uDAEA,uBACA,UACA,yBACA,gCACA,+BACA,0CACA,+EACA,uDACA,0CACA,uBACA,SACA,0FAGAyQ,sBAEA,gDACA,UACAC,uCACA,kDACA,8DAGA,2BAYA,GAXA,gFACA,GACA,8CACAC,sFACAC,uBACA,CACA16C,OACAD,qCAIA,2CACA,yDACA,gCACA,wCACA46C,WACA,8CACAF,4EACAC,uBACA,CACA16C,OACAD,qCAIA,yBACA,wBACA66C,qCACA,4BACA,4BACA,uBACA,gCACA,+BACA,uCACA,kCACA,eAAAroB,eAAAplC,kBACA,iCACA,0BACA,gCACA,0BACA,gCACA,2BACA,mFACA,8BACA,+BACA,8BAIA,uCACA,iDACA,uBAAAP,6CACAirD,wBACA,+CACA,2CAGA,kFACA,gDACA,uBAAAjrD,6CACAirD,uBACA,8CACA,0CAGA,mDACA,kDACA,8BAGA,8CAOA7lC,mBACA,kCAEA6oC,uBACA,2BACAnJ,yBACA,aAGAA,6BAGAoJ,wBACA,MAEA,uBACA,iBACA,6BAAAC,mBACAhlC,0BAEA,6BAEA,gCAEAilC,YACA,+BAEAC,aACA,oDACA,uCAMA,OALA,uBACAruD,4CACAyY,MACAwO,OACA,wBACA,qBAEAqnC,WACA,oDACA,uCAOA,OANA,uBACAtuD,0CACAyY,MACAwO,MACA6a,iBACA,wBACA,qBAEAysB,aACA,oDACA,uCAOA,OANA,uBACAvuD,4CACAyY,MACAwO,MACA6a,iBACA,wBACA,qBAEA0sB,oBACA,6BACA,uBACAxuD,8CACAyY,yBACAwO,0BACA,wBACA,qBANA,qBAQAwnC,gBACA,cACA,eACA,eACA,WACA,SACA,QACA,WAGAC,gBAIA,iCACA,cACA,YACA,WACA,cACA,aACA,gBACA,cACA,gBACA,gBACA,iBACA,yBACA,qBACA,UACA,aACA,eACA,UACA,WACA,aACA,aACA,YACA,kBACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UACA,UACA,UACA,eACA,UACA,eACA,SACA,QACA,WAGAC,uBACA,WACA,sCACAvkC,oCAIA,UACAwkC,cAEA,WACAA,kBAEA,YACAA,gBAEA,WACAA,mBAbA,GAiBArtB,eACA,6BACA,sBAGA,sBACA,uBACAvhC,wCACAiL,UACA2jD,uCACA,wBAPA,qBAFA,qBAaAntB,iBACA,4BACA,sBACA,6BACA,sBAEA,uBACA,uBACAzhC,0CACAiL,UACA2jD,uCACA,wBACA,6BACA,qBAZA,qBAgBAC,kCACA,kCACA,mCAGA,6CACAzkC,6CACAA,6CACAA,6CACAA,6CACAA,6CACAA,6CACAA,6CACAA,6CAGAA,2DACAA,2DACAA,6CACAA,6CAEA,oFAEA0kC,eACA,6BAEA,gBAKA,wCACA,uBACA9uD,yCACAiL,gBACA2jD,cACA,wBACA,uBACA5uD,6CACAqI,eACA,wBACA,+BAEA,uBACArI,6CACAqI,eACA,wBACA,iCApBA,qBAHA,qBA2BA0mD,wBACA,6BACA,uBACA/uD,6CACAqI,eACA,wBACA,6BACA,qBANA,qBAQA,qBACA,uCAEA,uBACA,4DACA2mD,SACAC,WAEA,iEAEA,gCAEA7pB,kBACA,mBACA,kDACA,sCACA,oEAEA,uBAGA,uBACAplC,mDACA,yBAEAulC,wBACA,mBACA,+CACA,kBAEAhgB,UACA,uBACAvlB,sCACA,yBAEA,2BACA,uBACAA,6CACAqI,6CACA,wBACA,qCAEA,uBACA,wBACA,uBACArI,yDACAqI,6CACA,wBAEA,gCACA,uBACArI,sDACAqI,uBACAu+C,oCACAsI,mBAEA,uBACA,qBAEA,yBACA,wBACA,uBACAlvD,oDACAqI,uBACAu+C,+DACAuI,cACAD,mCAEA,uBACA,uBACAE,mBACA,4CACA,sCACA,4BACAxwD,UAEAywD,OACA,aACA,OACA,QACA,+BACA,0CAEA,gBACA,4CAEA,iBAKA,8BACAC,6BACA,yBACA,8CACA,+CACAxhC,iBACAttB,MAEA,UAEAA,SAdAA,MAiBA,YACA,eACA,uBACAR,oDACA0B,SACA,uBACA,4DACA6tD,IAEA,yBAEA,0CACA,uBACAvvD,oDACAqI,uBAAA8mD,iBACA,wBAEA5yC,gBACA,kCACA,MAEA6yC,wCAEAznB,sBACA,0BACA,oBACA,mDACA,uBACA3nC,sDACAqI,0BACA,wBAEA,0BAIA,4BAHA,GACA,GAIA,wBAEA,uBACArI,+CACAqI,oCACA,wBAEA,iBACA,uBACArI,uCACA,yBAEA8lC,gBAEA,mDACA,qBACA,2BAEAS,aAEA,8BACA,kBACA,2BAEAJ,oBAEA,mDACA,iCACA,2BAEAqpB,oBACA,uBACAxvD,+CACA6lC,uCACA4pB,oDACAnpB,wBACAE,gCACA,yBAEAG,oBACA,wBACA,4DACA,gCAEAF,sBACA,oBACA,0BAEA,2BACA,SACAlM,8BACAC,iCAIA,4DAEA,yBACA,qBACA,sBACA/iB,kFAGA,wBACA,+BAEA,+BAEAi4C,oBACA,2CAEAC,kBACA,wBACA,kCAEA,kFACA,gCAEAC,uBACA,sEACA,kEACA,oEACA,wEACA,oEACA,oEACA,sFACA,kEACA,kEACA,8DACA,kEACA,qEACAhpC,4EAEAipC,oBACA,mEACA,+DACA,iEACA,qEACA,iEACA,iEACA,mFACA,+DACA,+DACA,2DACA,+DACA,kEACAjpC,yEAEAkpC,qBACA,gCACA,gCACA,+BACA,0CACA9B,qCACA,4BACA,0BAEA,0BAEA+B,oBACA,aACA,mFACA,uCACA,oBACA,SACA,IAEA,GACAC,KACA,sCACAC,gDACA,2BAEA,kEAEAC,oBACA,mDAEA,oEAEAC,0BACA,mDAEA,2EAEAC,sBACA,+BAGA,2BACA,yCACA,mDAAApwD,aAAAqwD,kBACA,2BACA,2CAGAC,qBACA,UACA,gBACAhP,cAEAA,qCAGA,wBACA,wCACA,eACA,0EACA,yBACA,MACA,iEACA,mCACA,6BACA,UACA,oCAEA,qCACAzb,qDAEA,MACA,mDACA,uCACA,MACA,iEACA,yCACA,MACA,4DACA,8BACA,2CACA,yCACA,MAEA,4DACA,2DACA,kCACA,oDACApuB,4EAEA,MACA,qEAEA,gCACA,mDACA,sCACA,cACA,kBACA,wCACAzX,kCAEAuwD,cACA,6BACA,+BACA,iCACA,wBACA9zC,sDACA,YACA,0BASA,OARA,6BACA,+BACA,iCACA,6BACA,uBACAhF,4CACA,wBAIAL,4BACA,kEACA,6CACA,gEACA,sBACA,mBACA,qBAGA,MACA,iEACAK,4BACA,MACA,kEACA,6BACA,oBACA,2BACA,oEACAA,uDACA,MACA,oEACA,wBACA,2BACA,oBACAgF,6CACA,mDACA,MACA,6DACA,mBACA,6BAEA,MACA,+DACA,4BACA,MACA,0EACA,wBACA,MACA,QACA,QAGA+zC,qBACA,2BAGA,2CAEAC,mBACA,2BAGA,+BAEAC,sEACA,QACA,uDACAC,gDACAA,wDAIA,oEACAA,0HAEAl5C,oBACA,4BAEA,+BACA,mBACA,OAEA,WAAA2zC,SAAA,cACA,CACAvtC,aACA+yC,WACAC,yBAEA,kBACA,0BAEAC,yBACA,yEAEAC,sBACA,+BACA,+BAEA,6DAEAC,uBACA,aACA,eACA,qEACA,wDACA,mEACA,iEACA,mEAGAC,oBACA,aACA,uBACAC,aAAA,2BACAC,WAAA,4BACAphC,UAAA,yBACAlC,WAAA,yBAEA,yDACA,4CACA,uDACA,qDACA,sDAEAujC,yDACA,wBACA,2DACA,kBACA,iEACA,QACA,IACA,uBACA72B,8BACAC,iCAEAD,IACAC,KAGA,YAGA,GAFAD,IACAC,MACA,KACA,YACAA,IACAD,MAGA,uBACA,yCACA,oDACA,wDAEA,0BACA,4BAGA,8BACA,+BAEA,wDACA,KAAA6Z,WAAAid,cACAC,eAGA,OAFA,qCACA,wCACA,GAEAC,yBACA,2DACA,YACA,OACA94C,qDACAwO,sDAIA,YACA,OACAxO,sBACAwO,yBAIA,8BAEA,4CACA,sDACA,yCACA,gCAEA,gDACA,yEACA,8BACA,2CACA,0BAIA4d,iBACA,2FACA,8BACAre,mDACAA,yBACAA,WAEAwe,iBACA,oBACA,eAIA,+BACA,oCAJAvtB,6DAMA,sBAEA,GADA,qBACA,cACA,aAEA,8BACA,2CACA,gCACA,sBAEA,uBACA+5C,gE,0IC/lDA,IAAIvnD,EAAS,WAAkB,IAAIC,EAAI1F,KAAK2F,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACD,EAAIM,GAAG,0BAA0BN,EAAIQ,GAAGR,EAAI6M,OAAO,KAAK5M,EAAG,MAAMD,EAAIM,GAAG,8C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","file":"js/chunk-2a6c88d6.54de589e.js","sourcesContent":["\"use strict\";\n\n/**\n * Streaming RPC helpers.\n * @namespace\n */\nvar rpc = exports;\n\n/**\n * RPC implementation passed to {@link Service#create} performing a service request on network level, i.e. by utilizing http requests or websockets.\n * @typedef RPCImpl\n * @type {function}\n * @param {Method|rpc.ServiceMethod,Message<{}>>} method Reflected or static method being called\n * @param {Uint8Array} requestData Request data\n * @param {RPCImplCallback} callback Callback function\n * @returns {undefined}\n * @example\n * function rpcImpl(method, requestData, callback) {\n * if (protobuf.util.lcFirst(method.name) !== \"myMethod\") // compatible with static code\n * throw Error(\"no such method\");\n * asynchronouslyObtainAResponse(requestData, function(err, responseData) {\n * callback(err, responseData);\n * });\n * }\n */\n\n/**\n * Node-style callback as used by {@link RPCImpl}.\n * @typedef RPCImplCallback\n * @type {function}\n * @param {Error|null} error Error, if any, otherwise `null`\n * @param {Uint8Array|null} [response] Response data or `null` to signal end of stream, if there hasn't been an error\n * @returns {undefined}\n */\n\nrpc.Service = require(\"./rpc/service\");\n","var uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","\"use strict\";\r\nmodule.exports = pool;\r\n\r\n/**\r\n * An allocator as used by {@link util.pool}.\r\n * @typedef PoolAllocator\r\n * @type {function}\r\n * @param {number} size Buffer size\r\n * @returns {Uint8Array} Buffer\r\n */\r\n\r\n/**\r\n * A slicer as used by {@link util.pool}.\r\n * @typedef PoolSlicer\r\n * @type {function}\r\n * @param {number} start Start offset\r\n * @param {number} end End offset\r\n * @returns {Uint8Array} Buffer slice\r\n * @this {Uint8Array}\r\n */\r\n\r\n/**\r\n * A general purpose buffer pool.\r\n * @memberof util\r\n * @function\r\n * @param {PoolAllocator} alloc Allocator\r\n * @param {PoolSlicer} slice Slicer\r\n * @param {number} [size=8192] Slab size\r\n * @returns {PoolAllocator} Pooled allocator\r\n */\r\nfunction pool(alloc, slice, size) {\r\n var SIZE = size || 8192;\r\n var MAX = SIZE >>> 1;\r\n var slab = null;\r\n var offset = SIZE;\r\n return function pool_alloc(size) {\r\n if (size < 1 || size > MAX)\r\n return alloc(size);\r\n if (offset + size > SIZE) {\r\n slab = alloc(SIZE);\r\n offset = 0;\r\n }\r\n var buf = slice.call(slab, offset, offset += size);\r\n if (offset & 7) // align to 32 bit\r\n offset = (offset | 7) + 1;\r\n return buf;\r\n };\r\n}\r\n","\"use strict\";\n/**\n * Runtime message from/to plain object converters.\n * @namespace\n */\nvar converter = exports;\n\nvar Enum = require(\"./enum\"),\n util = require(\"./util\");\n\n/**\n * Generates a partial value fromObject conveter.\n * @param {Codegen} gen Codegen instance\n * @param {Field} field Reflected field\n * @param {number} fieldIndex Field index\n * @param {string} prop Property reference\n * @returns {Codegen} Codegen instance\n * @ignore\n */\nfunction genValuePartial_fromObject(gen, field, fieldIndex, prop) {\n /* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */\n if (field.resolvedType) {\n if (field.resolvedType instanceof Enum) { gen\n (\"switch(d%s){\", prop);\n for (var values = field.resolvedType.values, keys = Object.keys(values), i = 0; i < keys.length; ++i) {\n if (field.repeated && values[keys[i]] === field.typeDefault) gen\n (\"default:\");\n gen\n (\"case%j:\", keys[i])\n (\"case %i:\", values[keys[i]])\n (\"m%s=%j\", prop, values[keys[i]])\n (\"break\");\n } gen\n (\"}\");\n } else gen\n (\"if(typeof d%s!==\\\"object\\\")\", prop)\n (\"throw TypeError(%j)\", field.fullName + \": object expected\")\n (\"m%s=types[%i].fromObject(d%s)\", prop, fieldIndex, prop);\n } else {\n var isUnsigned = false;\n switch (field.type) {\n case \"double\":\n case \"float\": gen\n (\"m%s=Number(d%s)\", prop, prop); // also catches \"NaN\", \"Infinity\"\n break;\n case \"uint32\":\n case \"fixed32\": gen\n (\"m%s=d%s>>>0\", prop, prop);\n break;\n case \"int32\":\n case \"sint32\":\n case \"sfixed32\": gen\n (\"m%s=d%s|0\", prop, prop);\n break;\n case \"uint64\":\n isUnsigned = true;\n // eslint-disable-line no-fallthrough\n case \"int64\":\n case \"sint64\":\n case \"fixed64\":\n case \"sfixed64\": gen\n (\"if(util.Long)\")\n (\"(m%s=util.Long.fromValue(d%s)).unsigned=%j\", prop, prop, isUnsigned)\n (\"else if(typeof d%s===\\\"string\\\")\", prop)\n (\"m%s=parseInt(d%s,10)\", prop, prop)\n (\"else if(typeof d%s===\\\"number\\\")\", prop)\n (\"m%s=d%s\", prop, prop)\n (\"else if(typeof d%s===\\\"object\\\")\", prop)\n (\"m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)\", prop, prop, prop, isUnsigned ? \"true\" : \"\");\n break;\n case \"bytes\": gen\n (\"if(typeof d%s===\\\"string\\\")\", prop)\n (\"util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)\", prop, prop, prop)\n (\"else if(d%s.length)\", prop)\n (\"m%s=d%s\", prop, prop);\n break;\n case \"string\": gen\n (\"m%s=String(d%s)\", prop, prop);\n break;\n case \"bool\": gen\n (\"m%s=Boolean(d%s)\", prop, prop);\n break;\n /* default: gen\n (\"m%s=d%s\", prop, prop);\n break; */\n }\n }\n return gen;\n /* eslint-enable no-unexpected-multiline, block-scoped-var, no-redeclare */\n}\n\n/**\n * Generates a plain object to runtime message converter specific to the specified message type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nconverter.fromObject = function fromObject(mtype) {\n /* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */\n var fields = mtype.fieldsArray;\n var gen = util.codegen([\"d\"], mtype.name + \"$fromObject\")\n (\"if(d instanceof this.ctor)\")\n (\"return d\");\n if (!fields.length) return gen\n (\"return new this.ctor\");\n gen\n (\"var m=new this.ctor\");\n for (var i = 0; i < fields.length; ++i) {\n var field = fields[i].resolve(),\n prop = util.safeProp(field.name);\n\n // Map fields\n if (field.map) { gen\n (\"if(d%s){\", prop)\n (\"if(typeof d%s!==\\\"object\\\")\", prop)\n (\"throw TypeError(%j)\", field.fullName + \": object expected\")\n (\"m%s={}\", prop)\n (\"for(var ks=Object.keys(d%s),i=0;i>>0,m%s.high>>>0).toNumber(%s):m%s\", prop, prop, prop, prop, isUnsigned ? \"true\": \"\", prop);\n break;\n case \"bytes\": gen\n (\"d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s\", prop, prop, prop, prop, prop);\n break;\n default: gen\n (\"d%s=m%s\", prop, prop);\n break;\n }\n }\n return gen;\n /* eslint-enable no-unexpected-multiline, block-scoped-var, no-redeclare */\n}\n\n/**\n * Generates a runtime message to plain object converter specific to the specified message type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nconverter.toObject = function toObject(mtype) {\n /* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */\n var fields = mtype.fieldsArray.slice().sort(util.compareFieldsById);\n if (!fields.length)\n return util.codegen()(\"return {}\");\n var gen = util.codegen([\"m\", \"o\"], mtype.name + \"$toObject\")\n (\"if(!o)\")\n (\"o={}\")\n (\"var d={}\");\n\n var repeatedFields = [],\n mapFields = [],\n normalFields = [],\n i = 0;\n for (; i < fields.length; ++i)\n if (!fields[i].partOf)\n ( fields[i].resolve().repeated ? repeatedFields\n : fields[i].map ? mapFields\n : normalFields).push(fields[i]);\n\n if (repeatedFields.length) { gen\n (\"if(o.arrays||o.defaults){\");\n for (i = 0; i < repeatedFields.length; ++i) gen\n (\"d%s=[]\", util.safeProp(repeatedFields[i].name));\n gen\n (\"}\");\n }\n\n if (mapFields.length) { gen\n (\"if(o.objects||o.defaults){\");\n for (i = 0; i < mapFields.length; ++i) gen\n (\"d%s={}\", util.safeProp(mapFields[i].name));\n gen\n (\"}\");\n }\n\n if (normalFields.length) { gen\n (\"if(o.defaults){\");\n for (i = 0; i < normalFields.length; ++i) {\n var field = normalFields[i],\n prop = util.safeProp(field.name);\n if (field.resolvedType instanceof Enum) gen\n (\"d%s=o.enums===String?%j:%j\", prop, field.resolvedType.valuesById[field.typeDefault], field.typeDefault);\n else if (field.long) gen\n (\"if(util.Long){\")\n (\"var n=new util.Long(%i,%i,%j)\", field.typeDefault.low, field.typeDefault.high, field.typeDefault.unsigned)\n (\"d%s=o.longs===String?n.toString():o.longs===Number?n.toNumber():n\", prop)\n (\"}else\")\n (\"d%s=o.longs===String?%j:%i\", prop, field.typeDefault.toString(), field.typeDefault.toNumber());\n else if (field.bytes) {\n var arrayDefault = \"[\" + Array.prototype.slice.call(field.typeDefault).join(\",\") + \"]\";\n gen\n (\"if(o.bytes===String)d%s=%j\", prop, String.fromCharCode.apply(String, field.typeDefault))\n (\"else{\")\n (\"d%s=%s\", prop, arrayDefault)\n (\"if(o.bytes!==Array)d%s=util.newBuffer(d%s)\", prop, prop)\n (\"}\");\n } else gen\n (\"d%s=%j\", prop, field.typeDefault); // also messages (=null)\n } gen\n (\"}\");\n }\n var hasKs2 = false;\n for (i = 0; i < fields.length; ++i) {\n var field = fields[i],\n index = mtype._fieldsArray.indexOf(field),\n prop = util.safeProp(field.name);\n if (field.map) {\n if (!hasKs2) { hasKs2 = true; gen\n (\"var ks2\");\n } gen\n (\"if(m%s&&(ks2=Object.keys(m%s)).length){\", prop, prop)\n (\"d%s={}\", prop)\n (\"for(var j=0;j}\n * @example\n * // pbjs -r myroot -o compiled.js ...\n *\n * // in another module:\n * require(\"./compiled.js\");\n *\n * // in any subsequent module:\n * var root = protobuf.roots[\"myroot\"];\n */\n","\"use strict\";\nvar protobuf = module.exports = require(\"./index-minimal\");\n\nprotobuf.build = \"light\";\n\n/**\n * A node-style callback as used by {@link load} and {@link Root#load}.\n * @typedef LoadCallback\n * @type {function}\n * @param {Error|null} error Error, if any, otherwise `null`\n * @param {Root} [root] Root, if there hasn't been an error\n * @returns {undefined}\n */\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into a common root namespace and calls the callback.\n * @param {string|string[]} filename One or multiple files to load\n * @param {Root} root Root namespace, defaults to create a new one if omitted.\n * @param {LoadCallback} callback Callback function\n * @returns {undefined}\n * @see {@link Root#load}\n */\nfunction load(filename, root, callback) {\n if (typeof root === \"function\") {\n callback = root;\n root = new protobuf.Root();\n } else if (!root)\n root = new protobuf.Root();\n return root.load(filename, callback);\n}\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into a common root namespace and calls the callback.\n * @name load\n * @function\n * @param {string|string[]} filename One or multiple files to load\n * @param {LoadCallback} callback Callback function\n * @returns {undefined}\n * @see {@link Root#load}\n * @variation 2\n */\n// function load(filename:string, callback:LoadCallback):undefined\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into a common root namespace and returns a promise.\n * @name load\n * @function\n * @param {string|string[]} filename One or multiple files to load\n * @param {Root} [root] Root namespace, defaults to create a new one if omitted.\n * @returns {Promise} Promise\n * @see {@link Root#load}\n * @variation 3\n */\n// function load(filename:string, [root:Root]):Promise\n\nprotobuf.load = load;\n\n/**\n * Synchronously loads one or multiple .proto or preprocessed .json files into a common root namespace (node only).\n * @param {string|string[]} filename One or multiple files to load\n * @param {Root} [root] Root namespace, defaults to create a new one if omitted.\n * @returns {Root} Root namespace\n * @throws {Error} If synchronous fetching is not supported (i.e. in browsers) or if a file's syntax is invalid\n * @see {@link Root#loadSync}\n */\nfunction loadSync(filename, root) {\n if (!root)\n root = new protobuf.Root();\n return root.loadSync(filename);\n}\n\nprotobuf.loadSync = loadSync;\n\n// Serialization\nprotobuf.encoder = require(\"./encoder\");\nprotobuf.decoder = require(\"./decoder\");\nprotobuf.verifier = require(\"./verifier\");\nprotobuf.converter = require(\"./converter\");\n\n// Reflection\nprotobuf.ReflectionObject = require(\"./object\");\nprotobuf.Namespace = require(\"./namespace\");\nprotobuf.Root = require(\"./root\");\nprotobuf.Enum = require(\"./enum\");\nprotobuf.Type = require(\"./type\");\nprotobuf.Field = require(\"./field\");\nprotobuf.OneOf = require(\"./oneof\");\nprotobuf.MapField = require(\"./mapfield\");\nprotobuf.Service = require(\"./service\");\nprotobuf.Method = require(\"./method\");\n\n// Runtime\nprotobuf.Message = require(\"./message\");\nprotobuf.wrappers = require(\"./wrappers\");\n\n// Utility\nprotobuf.types = require(\"./types\");\nprotobuf.util = require(\"./util\");\n\n// Set up possibly cyclic reflection dependencies\nprotobuf.ReflectionObject._configure(protobuf.Root);\nprotobuf.Namespace._configure(protobuf.Type, protobuf.Service, protobuf.Enum);\nprotobuf.Root._configure(protobuf.Type);\nprotobuf.Field._configure(protobuf.Type);\n","\"use strict\";\nmodule.exports = Method;\n\n// extends ReflectionObject\nvar ReflectionObject = require(\"./object\");\n((Method.prototype = Object.create(ReflectionObject.prototype)).constructor = Method).className = \"Method\";\n\nvar util = require(\"./util\");\n\n/**\n * Constructs a new service method instance.\n * @classdesc Reflected service method.\n * @extends ReflectionObject\n * @constructor\n * @param {string} name Method name\n * @param {string|undefined} type Method type, usually `\"rpc\"`\n * @param {string} requestType Request message type\n * @param {string} responseType Response message type\n * @param {boolean|Object.} [requestStream] Whether the request is streamed\n * @param {boolean|Object.} [responseStream] Whether the response is streamed\n * @param {Object.} [options] Declared options\n * @param {string} [comment] The comment for this method\n * @param {Object.} [parsedOptions] Declared options, properly parsed into an object\n */\nfunction Method(name, type, requestType, responseType, requestStream, responseStream, options, comment, parsedOptions) {\n\n /* istanbul ignore next */\n if (util.isObject(requestStream)) {\n options = requestStream;\n requestStream = responseStream = undefined;\n } else if (util.isObject(responseStream)) {\n options = responseStream;\n responseStream = undefined;\n }\n\n /* istanbul ignore if */\n if (!(type === undefined || util.isString(type)))\n throw TypeError(\"type must be a string\");\n\n /* istanbul ignore if */\n if (!util.isString(requestType))\n throw TypeError(\"requestType must be a string\");\n\n /* istanbul ignore if */\n if (!util.isString(responseType))\n throw TypeError(\"responseType must be a string\");\n\n ReflectionObject.call(this, name, options);\n\n /**\n * Method type.\n * @type {string}\n */\n this.type = type || \"rpc\"; // toJSON\n\n /**\n * Request type.\n * @type {string}\n */\n this.requestType = requestType; // toJSON, marker\n\n /**\n * Whether requests are streamed or not.\n * @type {boolean|undefined}\n */\n this.requestStream = requestStream ? true : undefined; // toJSON\n\n /**\n * Response type.\n * @type {string}\n */\n this.responseType = responseType; // toJSON\n\n /**\n * Whether responses are streamed or not.\n * @type {boolean|undefined}\n */\n this.responseStream = responseStream ? true : undefined; // toJSON\n\n /**\n * Resolved request type.\n * @type {Type|null}\n */\n this.resolvedRequestType = null;\n\n /**\n * Resolved response type.\n * @type {Type|null}\n */\n this.resolvedResponseType = null;\n\n /**\n * Comment for this method\n * @type {string|null}\n */\n this.comment = comment;\n\n /**\n * Options properly parsed into an object\n */\n this.parsedOptions = parsedOptions;\n}\n\n/**\n * Method descriptor.\n * @interface IMethod\n * @property {string} [type=\"rpc\"] Method type\n * @property {string} requestType Request type\n * @property {string} responseType Response type\n * @property {boolean} [requestStream=false] Whether requests are streamed\n * @property {boolean} [responseStream=false] Whether responses are streamed\n * @property {Object.} [options] Method options\n * @property {string} comment Method comments\n * @property {Object.} [parsedOptions] Method options properly parsed into an object\n */\n\n/**\n * Constructs a method from a method descriptor.\n * @param {string} name Method name\n * @param {IMethod} json Method descriptor\n * @returns {Method} Created method\n * @throws {TypeError} If arguments are invalid\n */\nMethod.fromJSON = function fromJSON(name, json) {\n return new Method(name, json.type, json.requestType, json.responseType, json.requestStream, json.responseStream, json.options, json.comment, json.parsedOptions);\n};\n\n/**\n * Converts this method to a method descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IMethod} Method descriptor\n */\nMethod.prototype.toJSON = function toJSON(toJSONOptions) {\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"type\" , this.type !== \"rpc\" && /* istanbul ignore next */ this.type || undefined,\n \"requestType\" , this.requestType,\n \"requestStream\" , this.requestStream,\n \"responseType\" , this.responseType,\n \"responseStream\" , this.responseStream,\n \"options\" , this.options,\n \"comment\" , keepComments ? this.comment : undefined,\n \"parsedOptions\" , this.parsedOptions,\n ]);\n};\n\n/**\n * @override\n */\nMethod.prototype.resolve = function resolve() {\n\n /* istanbul ignore if */\n if (this.resolved)\n return this;\n\n this.resolvedRequestType = this.parent.lookupType(this.requestType);\n this.resolvedResponseType = this.parent.lookupType(this.responseType);\n\n return ReflectionObject.prototype.resolve.call(this);\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocationDetails.vue?vue&type=style&index=0&id=c576b9e8&prod&scoped=true&lang=css&\"","\"use strict\";\nmodule.exports = Writer;\n\nvar util = require(\"./util/minimal\");\n\nvar BufferWriter; // cyclic\n\nvar LongBits = util.LongBits,\n base64 = util.base64,\n utf8 = util.utf8;\n\n/**\n * Constructs a new writer operation instance.\n * @classdesc Scheduled writer operation.\n * @constructor\n * @param {function(*, Uint8Array, number)} fn Function to call\n * @param {number} len Value byte length\n * @param {*} val Value to write\n * @ignore\n */\nfunction Op(fn, len, val) {\n\n /**\n * Function to call.\n * @type {function(Uint8Array, number, *)}\n */\n this.fn = fn;\n\n /**\n * Value byte length.\n * @type {number}\n */\n this.len = len;\n\n /**\n * Next operation.\n * @type {Writer.Op|undefined}\n */\n this.next = undefined;\n\n /**\n * Value to write.\n * @type {*}\n */\n this.val = val; // type varies\n}\n\n/* istanbul ignore next */\nfunction noop() {} // eslint-disable-line no-empty-function\n\n/**\n * Constructs a new writer state instance.\n * @classdesc Copied writer state.\n * @memberof Writer\n * @constructor\n * @param {Writer} writer Writer to copy state from\n * @ignore\n */\nfunction State(writer) {\n\n /**\n * Current head.\n * @type {Writer.Op}\n */\n this.head = writer.head;\n\n /**\n * Current tail.\n * @type {Writer.Op}\n */\n this.tail = writer.tail;\n\n /**\n * Current buffer length.\n * @type {number}\n */\n this.len = writer.len;\n\n /**\n * Next state.\n * @type {State|null}\n */\n this.next = writer.states;\n}\n\n/**\n * Constructs a new writer instance.\n * @classdesc Wire format writer using `Uint8Array` if available, otherwise `Array`.\n * @constructor\n */\nfunction Writer() {\n\n /**\n * Current length.\n * @type {number}\n */\n this.len = 0;\n\n /**\n * Operations head.\n * @type {Object}\n */\n this.head = new Op(noop, 0, 0);\n\n /**\n * Operations tail\n * @type {Object}\n */\n this.tail = this.head;\n\n /**\n * Linked forked states.\n * @type {Object|null}\n */\n this.states = null;\n\n // When a value is written, the writer calculates its byte length and puts it into a linked\n // list of operations to perform when finish() is called. This both allows us to allocate\n // buffers of the exact required size and reduces the amount of work we have to do compared\n // to first calculating over objects and then encoding over objects. In our case, the encoding\n // part is just a linked list walk calling operations with already prepared values.\n}\n\nvar create = function create() {\n return util.Buffer\n ? function create_buffer_setup() {\n return (Writer.create = function create_buffer() {\n return new BufferWriter();\n })();\n }\n /* istanbul ignore next */\n : function create_array() {\n return new Writer();\n };\n};\n\n/**\n * Creates a new writer.\n * @function\n * @returns {BufferWriter|Writer} A {@link BufferWriter} when Buffers are supported, otherwise a {@link Writer}\n */\nWriter.create = create();\n\n/**\n * Allocates a buffer of the specified size.\n * @param {number} size Buffer size\n * @returns {Uint8Array} Buffer\n */\nWriter.alloc = function alloc(size) {\n return new util.Array(size);\n};\n\n// Use Uint8Array buffer pool in the browser, just like node does with buffers\n/* istanbul ignore else */\nif (util.Array !== Array)\n Writer.alloc = util.pool(Writer.alloc, util.Array.prototype.subarray);\n\n/**\n * Pushes a new operation to the queue.\n * @param {function(Uint8Array, number, *)} fn Function to call\n * @param {number} len Value byte length\n * @param {number} val Value to write\n * @returns {Writer} `this`\n * @private\n */\nWriter.prototype._push = function push(fn, len, val) {\n this.tail = this.tail.next = new Op(fn, len, val);\n this.len += len;\n return this;\n};\n\nfunction writeByte(val, buf, pos) {\n buf[pos] = val & 255;\n}\n\nfunction writeVarint32(val, buf, pos) {\n while (val > 127) {\n buf[pos++] = val & 127 | 128;\n val >>>= 7;\n }\n buf[pos] = val;\n}\n\n/**\n * Constructs a new varint writer operation instance.\n * @classdesc Scheduled varint writer operation.\n * @extends Op\n * @constructor\n * @param {number} len Value byte length\n * @param {number} val Value to write\n * @ignore\n */\nfunction VarintOp(len, val) {\n this.len = len;\n this.next = undefined;\n this.val = val;\n}\n\nVarintOp.prototype = Object.create(Op.prototype);\nVarintOp.prototype.fn = writeVarint32;\n\n/**\n * Writes an unsigned 32 bit value as a varint.\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.uint32 = function write_uint32(value) {\n // here, the call to this.push has been inlined and a varint specific Op subclass is used.\n // uint32 is by far the most frequently used operation and benefits significantly from this.\n this.len += (this.tail = this.tail.next = new VarintOp(\n (value = value >>> 0)\n < 128 ? 1\n : value < 16384 ? 2\n : value < 2097152 ? 3\n : value < 268435456 ? 4\n : 5,\n value)).len;\n return this;\n};\n\n/**\n * Writes a signed 32 bit value as a varint.\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.int32 = function write_int32(value) {\n return value < 0\n ? this._push(writeVarint64, 10, LongBits.fromNumber(value)) // 10 bytes per spec\n : this.uint32(value);\n};\n\n/**\n * Writes a 32 bit value as a varint, zig-zag encoded.\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.sint32 = function write_sint32(value) {\n return this.uint32((value << 1 ^ value >> 31) >>> 0);\n};\n\nfunction writeVarint64(val, buf, pos) {\n while (val.hi) {\n buf[pos++] = val.lo & 127 | 128;\n val.lo = (val.lo >>> 7 | val.hi << 25) >>> 0;\n val.hi >>>= 7;\n }\n while (val.lo > 127) {\n buf[pos++] = val.lo & 127 | 128;\n val.lo = val.lo >>> 7;\n }\n buf[pos++] = val.lo;\n}\n\n/**\n * Writes an unsigned 64 bit value as a varint.\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.uint64 = function write_uint64(value) {\n var bits = LongBits.from(value);\n return this._push(writeVarint64, bits.length(), bits);\n};\n\n/**\n * Writes a signed 64 bit value as a varint.\n * @function\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.int64 = Writer.prototype.uint64;\n\n/**\n * Writes a signed 64 bit value as a varint, zig-zag encoded.\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.sint64 = function write_sint64(value) {\n var bits = LongBits.from(value).zzEncode();\n return this._push(writeVarint64, bits.length(), bits);\n};\n\n/**\n * Writes a boolish value as a varint.\n * @param {boolean} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.bool = function write_bool(value) {\n return this._push(writeByte, 1, value ? 1 : 0);\n};\n\nfunction writeFixed32(val, buf, pos) {\n buf[pos ] = val & 255;\n buf[pos + 1] = val >>> 8 & 255;\n buf[pos + 2] = val >>> 16 & 255;\n buf[pos + 3] = val >>> 24;\n}\n\n/**\n * Writes an unsigned 32 bit value as fixed 32 bits.\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.fixed32 = function write_fixed32(value) {\n return this._push(writeFixed32, 4, value >>> 0);\n};\n\n/**\n * Writes a signed 32 bit value as fixed 32 bits.\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.sfixed32 = Writer.prototype.fixed32;\n\n/**\n * Writes an unsigned 64 bit value as fixed 64 bits.\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.fixed64 = function write_fixed64(value) {\n var bits = LongBits.from(value);\n return this._push(writeFixed32, 4, bits.lo)._push(writeFixed32, 4, bits.hi);\n};\n\n/**\n * Writes a signed 64 bit value as fixed 64 bits.\n * @function\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.sfixed64 = Writer.prototype.fixed64;\n\n/**\n * Writes a float (32 bit).\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.float = function write_float(value) {\n return this._push(util.float.writeFloatLE, 4, value);\n};\n\n/**\n * Writes a double (64 bit float).\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.double = function write_double(value) {\n return this._push(util.float.writeDoubleLE, 8, value);\n};\n\nvar writeBytes = util.Array.prototype.set\n ? function writeBytes_set(val, buf, pos) {\n buf.set(val, pos); // also works for plain array values\n }\n /* istanbul ignore next */\n : function writeBytes_for(val, buf, pos) {\n for (var i = 0; i < val.length; ++i)\n buf[pos + i] = val[i];\n };\n\n/**\n * Writes a sequence of bytes.\n * @param {Uint8Array|string} value Buffer or base64 encoded string to write\n * @returns {Writer} `this`\n */\nWriter.prototype.bytes = function write_bytes(value) {\n var len = value.length >>> 0;\n if (!len)\n return this._push(writeByte, 1, 0);\n if (util.isString(value)) {\n var buf = Writer.alloc(len = base64.length(value));\n base64.decode(value, buf, 0);\n value = buf;\n }\n return this.uint32(len)._push(writeBytes, len, value);\n};\n\n/**\n * Writes a string.\n * @param {string} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.string = function write_string(value) {\n var len = utf8.length(value);\n return len\n ? this.uint32(len)._push(utf8.write, len, value)\n : this._push(writeByte, 1, 0);\n};\n\n/**\n * Forks this writer's state by pushing it to a stack.\n * Calling {@link Writer#reset|reset} or {@link Writer#ldelim|ldelim} resets the writer to the previous state.\n * @returns {Writer} `this`\n */\nWriter.prototype.fork = function fork() {\n this.states = new State(this);\n this.head = this.tail = new Op(noop, 0, 0);\n this.len = 0;\n return this;\n};\n\n/**\n * Resets this instance to the last state.\n * @returns {Writer} `this`\n */\nWriter.prototype.reset = function reset() {\n if (this.states) {\n this.head = this.states.head;\n this.tail = this.states.tail;\n this.len = this.states.len;\n this.states = this.states.next;\n } else {\n this.head = this.tail = new Op(noop, 0, 0);\n this.len = 0;\n }\n return this;\n};\n\n/**\n * Resets to the last state and appends the fork state's current write length as a varint followed by its operations.\n * @returns {Writer} `this`\n */\nWriter.prototype.ldelim = function ldelim() {\n var head = this.head,\n tail = this.tail,\n len = this.len;\n this.reset().uint32(len);\n if (len) {\n this.tail.next = head.next; // skip noop\n this.tail = tail;\n this.len += len;\n }\n return this;\n};\n\n/**\n * Finishes the write operation.\n * @returns {Uint8Array} Finished buffer\n */\nWriter.prototype.finish = function finish() {\n var head = this.head.next, // skip noop\n buf = this.constructor.alloc(this.len),\n pos = 0;\n while (head) {\n head.fn(head.val, buf, pos);\n pos += head.len;\n head = head.next;\n }\n // this.head = this.tail = null;\n return buf;\n};\n\nWriter._configure = function(BufferWriter_) {\n BufferWriter = BufferWriter_;\n Writer.create = create();\n BufferWriter._configure();\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./powerExecutionParams.vue?vue&type=style&index=0&id=47ba1f12&prod&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceFileVaultKeysHistory.vue?vue&type=style&index=0&id=380d3c94&prod&lang=css&\"","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n }\n});\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw $RangeError('Wrong offset');\n return offset;\n};\n","var isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw $TypeError('Incorrect invocation');\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceAmtLogs.vue?vue&type=style&index=0&id=f790fcac&prod&scoped=true&lang=css&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.selectedDevice)?_c('div',{staticStyle:{\"position\":\"relative\"}},[_c('portal',{attrs:{\"to\":\"breadcrumb\"}},[_c('Breadcrumb',[_c('b-breadcrumb-item',{attrs:{\"to\":{ name: 'devices'},\"tag\":\"router-link\"}},[_vm._v(\" Managed devices \")]),_c('b-breadcrumb-item',{staticClass:\"device-name\",attrs:{\"active\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.selectedDevice.name)+\" \")])],1)],1),_c('portal',{attrs:{\"to\":\"navbar-right\"}},[_c('b-navbar-item',{attrs:{\"tag\":\"div\"}},[_c('b-tooltip',{attrs:{\"label\":\"Previous device\",\"type\":\"is-dark\",\"position\":\"is-bottom\",\"append-to-body\":\"\"}},[_c('b-button',{attrs:{\"type\":\"is-white\"},on:{\"click\":function($event){return _vm.changeDevice(-1)}}},[_c('b-icon',{staticStyle:{\"font-size\":\"24px\"},attrs:{\"size\":\"is-small\",\"icon\":\"chevron-left\"}})],1)],1),_c('b-tooltip',{attrs:{\"label\":\"Next device\",\"type\":\"is-dark\",\"position\":\"is-bottom\",\"append-to-body\":\"\"}},[_c('b-button',{attrs:{\"type\":\"is-white\"},on:{\"click\":function($event){return _vm.changeDevice(1)}}},[_c('b-icon',{staticStyle:{\"font-size\":\"24px\"},attrs:{\"size\":\"is-small\",\"icon\":\"chevron-right\"}})],1)],1)],1)],1),_c('portal',{attrs:{\"to\":\"secondNavbarLeft\"}},[_c('div',{staticClass:\"tabs\",attrs:{\"id\":\"tabs-device-details\"}},[_c('ul',_vm._l((_vm.tabUrls),function(tabUrl){return _c('li',{key:tabUrl.index,class:{ 'is-active': _vm.activeTab === tabUrl.index },attrs:{\"active\":\"\"}},[(tabUrl.visible)?_c('a',{on:{\"click\":function($event){_vm.activeTab = tabUrl.index}}},[_vm._v(_vm._s(tabUrl.name))]):_vm._e()])}),0)])]),_c('portal',{attrs:{\"to\":\"secondNavbarRight\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[(_vm.validateIfHasPermission([\n _vm.permissions.RUN_EXECUTIONS.value.dbValue\n ]))?_c('b-button',{attrs:{\"id\":\"start-execution-devicedetails\",\"type\":\"is-primary is-small\",\"icon-left\":\"lightning-bolt\"},on:{\"click\":_vm.startExecution}},[(_vm.$screen.tablet)?_c('span',[_vm._v(\"Start execution\")]):_vm._e()]):_vm._e(),(_vm.validateIfHasPermission([_vm.permissions.EXPORT_REPORTS.value.dbValue]))?_c('b-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedDevice),expression:\"selectedDevice\"}],attrs:{\"id\":\"reports-devicedetails\",\"position\":\"is-bottom-left\"}},[_c('button',{staticClass:\"button is-white\",attrs:{\"slot\":\"trigger\"},slot:\"trigger\"},[_c('b-icon',{attrs:{\"icon\":\"dots-vertical\"}})],1),_c('b-dropdown-item',{staticClass:\"title-dropdown\",attrs:{\"custom\":\"\"}},[_c('b',[_vm._v(\"Export device to CSV\")])]),_c('b-dropdown-item',{attrs:{\"id\":_vm.reportsNames.BASIC.value},on:{\"click\":function($event){_vm.getCSVFromApi(_vm.reportsNames.BASIC.value, _vm.selectedDevice.id);\n _vm.addLog(_vm.reportsNames.BASIC.value)}}},[_c('a',{staticClass:\"item-dropdown\"},[_vm._v(\"Overview\")])]),(_vm.validateIfHasCapability([_vm.planCapabilities.HARDWARE_INVENTORY.value,\n _vm.planCapabilities.DEVICES_MANAGEMENT.value]))?_c('b-dropdown-item',{attrs:{\"id\":_vm.reportsNames.HARDWARE.value},on:{\"click\":function($event){_vm.getCSVFromApi(_vm.reportsNames.HARDWARE.value, _vm.selectedDevice.id);\n _vm.addLog(_vm.reportsNames.HARDWARE.value)}}},[_c('a',{staticClass:\"item-dropdown\"},[_vm._v(\"Hardware\")])]):_vm._e(),(_vm.validateIfHasCapability([_vm.planCapabilities.SOFTWARE_INVENTORY.value,\n _vm.planCapabilities.DEVICES_MANAGEMENT.value]))?_c('b-dropdown-item',{attrs:{\"id\":_vm.reportsNames.SOFTWARE.value},on:{\"click\":function($event){_vm.getCSVFromApi(_vm.reportsNames.SOFTWARE.value, _vm.selectedDevice.id);\n _vm.addLog(_vm.reportsNames.SOFTWARE.value)}}},[_c('a',{staticClass:\"item-dropdown\"},[_vm._v(\"Software\")])]):_vm._e(),(_vm.selectedDevice.OSVendor === 'Microsoft'\n && _vm.validateIfHasCapability([_vm.planCapabilities.UPDATES_INVENTORY.value,\n _vm.planCapabilities.DEVICES_MANAGEMENT.value]))?_c('b-dropdown-item',{attrs:{\"id\":_vm.reportsNames.UPDATES.value},on:{\"click\":function($event){_vm.getCSVFromApi(_vm.reportsNames.UPDATES.value, _vm.selectedDevice.id);\n _vm.addLog(_vm.reportsNames.UPDATES.value)}}},[_c('a',{staticClass:\"item-dropdown\"},[_vm._v(\"Updates\")])]):_vm._e(),_c('b-dropdown-item',{attrs:{\"id\":_vm.reportsNames.NETWORK_INTERFACES.value},on:{\"click\":function($event){_vm.getCSVFromApi(_vm.reportsNames.NETWORK_INTERFACES.value, _vm.selectedDevice.id);\n _vm.addLog(_vm.reportsNames.NETWORK_INTERFACES.value)}}},[_c('a',{staticClass:\"item-dropdown\"},[_vm._v(\"Network interfaces\")])]),(_vm.validateIfHasCapability([_vm.planCapabilities.LOCATIONS.value]))?_c('b-dropdown-item',{attrs:{\"id\":_vm.reportsNames.LOCATIONS.value},on:{\"click\":function($event){_vm.getCSVFromApi(_vm.reportsNames.LOCATIONS.value, _vm.selectedDevice.id);\n _vm.addLog(_vm.reportsNames.LOCATIONS.value)}}},[_c('a',{staticClass:\"item-dropdown\"},[_vm._v(\"Geolocation\")])]):_vm._e(),(_vm.amtInfo && _vm.amtInfo.amtStatus !== _vm.amtStatus.UNCONFIGURED.value.dbValue\n && _vm.validateIfHasCapability([_vm.planCapabilities.AMT_MANAGEMENT.value]))?_c('b-dropdown-item',{attrs:{\"id\":_vm.reportsNames.INTEL_AMT_LOGS.value},on:{\"click\":function($event){_vm.getCSVFromApi(_vm.reportsNames.INTEL_AMT_LOGS.value, _vm.selectedDevice.id)\n _vm.addLog(_vm.reportsNames.INTEL_AMT_LOGS.value)}}},[_c('a',{staticClass:\"item-dropdown\"},[_vm._v(\"Intel® AMT logs\")])]):_vm._e(),(_vm.validateIfHasCapability([_vm.planCapabilities.DEVICES_MANAGEMENT.value,\n _vm.planCapabilities.SYSTEM_STATUS.value])\n && _vm.selectedDevice.OSVendor === 'Microsoft')?_c('b-dropdown-item',{attrs:{\"id\":_vm.reportsNames.DISKS.value},on:{\"click\":function($event){_vm.getCSVFromApi(_vm.reportsNames.DISKS.value, _vm.selectedDevice.id);\n _vm.addLog(_vm.reportsNames.DISKS.value)}}},[_c('a',{staticClass:\"item-dropdown\"},[_vm._v(\"Disks partitions\")])]):_vm._e(),(_vm.validateIfHasCapability([_vm.planCapabilities.DISK_ENCRYPTION.value])\n && _vm.selectedDevice.OSVendor === 'Microsoft')?_c('b-dropdown-item',{attrs:{\"id\":_vm.reportsNames.BITLOCKER_REQUIREMENTS.value},on:{\"click\":function($event){_vm.getCSVFromApi(_vm.reportsNames.BITLOCKER_REQUIREMENTS.value, _vm.selectedDevice.id);\n _vm.addLog(_vm.reportsNames.BITLOCKER_REQUIREMENTS.value)}}},[_c('a',{staticClass:\"item-dropdown\"},[_vm._v(\"BitLocker requirements\")])]):_vm._e(),(_vm.validateIfHasCapability([_vm.planCapabilities.DISK_ENCRYPTION.value])\n && _vm.validateIfHasPermission([_vm.permissions.SEE_BITLOCKER_PASSWORDS.value.dbValue])\n && _vm.selectedDevice.OSVendor === 'Microsoft')?_c('b-dropdown-item',{attrs:{\"id\":_vm.reportsNames.BITLOCKER_PASSWORDS.value},on:{\"click\":function($event){_vm.getCSVFromApi(_vm.reportsNames.BITLOCKER_PASSWORDS.value, _vm.selectedDevice.id);\n _vm.addLog(_vm.reportsNames.BITLOCKER_PASSWORDS.value)}}},[_c('a',{staticClass:\"item-dropdown\"},[_vm._v(\"BitLocker passwords\")])]):_vm._e()],1):_vm._e()],1)]),(!_vm.loading)?_c('div',{staticClass:\"material-card-content pt-0\"},[_c('div',{staticClass:\"is-desktop\"},[_c('device-overview',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeTab === _vm.getTabById('overview').index),expression:\"activeTab === getTabById('overview').index\"}],attrs:{\"device\":_vm.selectedDevice,\"amt-info\":_vm.amtInfo}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeTab === _vm.getTabById('inventory').index),expression:\"activeTab === getTabById('inventory').index\"}]},[_c('div',{staticClass:\"mb-3\"},[_c('devices-operating-system',{attrs:{\"device\":_vm.selectedDevice}})],1),(_vm.validateIfHasCapability([_vm.planCapabilities.HARDWARE_INVENTORY.value,\n _vm.planCapabilities.DEVICES_MANAGEMENT.value]))?_c('div',{staticClass:\"mb-3\"},[_c('device-hardware',{ref:\"deviceHardwares\",attrs:{\"device-id\":_vm.selectedDevice.id,\"os-vendor\":_vm.selectedDevice.OSVendor,\"has-capacity\":_vm.validateIfHasCapability([_vm.planCapabilities.HARDWARE_INVENTORY.value,\n _vm.planCapabilities.DEVICES_MANAGEMENT.value])}})],1):_vm._e(),((_vm.selectedDevice.OSVendor === 'Microsoft' || _vm.selectedDevice.OSVendor === 'Apple')\n && _vm.validateIfHasCapability([_vm.planCapabilities.SYSTEM_STATUS.value,\n _vm.planCapabilities.DEVICES_MANAGEMENT.value]))?_c('div',[_c('devices-disk-partitions',{ref:\"DiskPartitions\",attrs:{\"device\":_vm.selectedDevice,\"has-capacity\":_vm.validateIfHasCapability([_vm.planCapabilities.SYSTEM_STATUS.value,\n _vm.planCapabilities.DEVICES_MANAGEMENT.value])}})],1):_vm._e(),(_vm.validateIfHasCapability([_vm.planCapabilities.AMT_MANAGEMENT.value]))?_c('div',{staticClass:\"mb-3\"},[_c('device-amt-details',{attrs:{\"device\":_vm.selectedDevice,\"amt-info\":_vm.amtInfo,\"has-capacity\":_vm.validateIfHasCapability([_vm.planCapabilities.AMT_MANAGEMENT.value])}})],1):_vm._e(),(_vm.biosVendorIsSupported(_vm.selectedDevice.vendor)\n && _vm.validateIfHasCapability([_vm.planCapabilities.BOOT_ORDER.value]))?_c('div',[_c('devices-boot-order',{ref:\"BootOrder\",attrs:{\"device\":_vm.selectedDevice}})],1):_vm._e(),(_vm.validateIfHasCapability([_vm.planCapabilities.SOFTWARE_INVENTORY.value,\n _vm.planCapabilities.DEVICES_MANAGEMENT.value]))?_c('div',{staticClass:\"mb-3\"},[_c('device-software',{ref:\"deviceSoftwares\",attrs:{\"max-quantity\":_vm.inventoryQuantityPerPage,\"device\":_vm.selectedDevice,\"has-capacity\":_vm.validateIfHasCapability([_vm.planCapabilities.SOFTWARE_INVENTORY.value,\n _vm.planCapabilities.DEVICES_MANAGEMENT.value])}})],1):_vm._e(),_c('div',{staticClass:\"mb-3\"},[_c('network-interfaces',{ref:\"deviceNetworkInterfaces\",attrs:{\"max-quantity\":_vm.inventoryQuantityPerPage,\"device\":_vm.selectedDevice}})],1),_c('div',{staticClass:\"mb-3\"},[_c('device-users',{attrs:{\"max-quantity\":25,\"device-id\":_vm.selectedDevice.id}})],1),_c('div',{staticClass:\"mb-3\"},[_c('card',{attrs:{\"external-card\":\"material-card\"}},[_c('b-collapse',{staticClass:\"card\",attrs:{\"slot\":\"external-header\",\"open\":false},slot:\"external-header\",scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('card',{attrs:{\"internal-card\":\"card-header\",\"style-internal-header\":\"display:flex; width:100%\",\"style-internal-card\":\"display:flex;flex-direction:row;\\n justify-content:space-between\"}},[_c('p',{staticClass:\"card-header-title header-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(\" Device value \")]),_c('learn-more',{attrs:{\"url\":\"\"}})],1),_c('a',{staticClass:\"card-header-icon\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(props.open),expression:\"props.open\"}],attrs:{\"icon\":\"menu-up\"}}),_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.open),expression:\"!props.open\"}],attrs:{\"icon\":\"menu-down\"}})],1)])}}],null,false,4132907597)},[_c('card',{attrs:{\"internal-card\":\"material-card-content\"}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-input',{directives:[{name:\"autosize\",rawName:\"v-autosize\"}],attrs:{\"type\":\"input\",\"placeholder\":\"Add computer value of this device\",\"maxlength\":\"100\"},model:{value:(_vm.deviceValue),callback:function ($$v) {_vm.deviceValue=$$v},expression:\"deviceValue\"}}),_c('b-button',{staticClass:\"is-primary force-right\",on:{\"click\":_vm.saveDeviceValue}},[_vm._v(\" Save \")])],1)])],1)],1)],1)]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeTab === _vm.getTabById('location').index),expression:\"activeTab === getTabById('location').index\"}]},[_c('portal-target',{attrs:{\"name\":\"lock-device-button\"}}),_c('device-location',{ref:\"deviceLocations\",attrs:{\"max-quantity\":20,\"is-online\":_vm.selectedDevice.status === _vm.deviceStatus.ONLINE.value.dbValue,\"device-id\":_vm.selectedDevice.id,\"locations-selected\":_vm.activeTab === 2,\"location-bounds\":_vm.selectedDevice.locationBounds}})],1),_c('device-remote-desktop',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeTab === _vm.getTabById('remoteDesktop').index),expression:\"activeTab === getTabById('remoteDesktop').index\"}],ref:\"deviceRemoteDesktop\",attrs:{\"amt-info\":_vm.amtInfo,\"device\":_vm.selectedDevice}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeTab === _vm.getTabById('security').index),expression:\"activeTab === getTabById('security').index\"}]},[(_vm.selectedDevice.OSVendor === 'Microsoft' && parseFloat(_vm.selectedDevice.OSBuild)\n >= 10 && _vm.validateIfHasCapability([_vm.planCapabilities.DISK_ENCRYPTION.value]) &&\n _vm.validateIfHasPermission([ _vm.permissions.SEE_BITLOCKER_PASSWORDS.value.dbValue]))?_c('device-bitlocker',{ref:\"DeviceBitlocker\",attrs:{\"device\":_vm.selectedDevice}}):_vm._e(),(_vm.selectedDevice.OSVendor === 'Apple'\n && _vm.validateIfHasCapability([_vm.planCapabilities.DISK_ENCRYPTION.value]) &&\n _vm.validateIfHasPermission([ _vm.permissions.SEE_BITLOCKER_PASSWORDS.value.dbValue]))?_c('device-fileVault',{ref:\"DeviceFileVault\",attrs:{\"device\":_vm.selectedDevice}}):_vm._e(),(_vm.selectedDevice)?_c('password-management',{attrs:{\"device\":_vm.selectedDevice,\"active-profile\":_vm.activeProfile,\"amt-info\":_vm.amtInfo}}):_vm._e(),(_vm.selectedDevice.OSVendor === 'Microsoft'\n && _vm.validateIfHasCapability([_vm.planCapabilities.SYSTEM_STATUS.value,\n _vm.planCapabilities.DEVICES_MANAGEMENT.value]))?_c('div',[_c('devices-security-features',{ref:\"DeviceStatus\",attrs:{\"device\":_vm.selectedDevice}})],1):_vm._e()],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeTab === _vm.getTabById('maintenance').index),expression:\"activeTab === getTabById('maintenance').index\"}]},[(_vm.selectedDevice.OSVendor === 'Microsoft'\n && _vm.validateIfHasCapability([_vm.planCapabilities.UPDATES_INVENTORY.value,\n _vm.planCapabilities.DEVICES_MANAGEMENT.value]))?_c('div',{staticClass:\"mb-3\"},[_c('device-updates',{ref:\"deviceUpdates\",attrs:{\"max-quantity\":_vm.inventoryQuantityPerPage,\"device\":_vm.selectedDevice,\"has-capacity\":_vm.validateIfHasCapability([_vm.planCapabilities.UPDATES_INVENTORY.value,\n _vm.planCapabilities.DEVICES_MANAGEMENT.value])}})],1):_vm._e(),(_vm.validateIfHasPermission([_vm.permissions.POWER_EXECUTIONS.value.dbValue,]))?_c('device-maintenance-actions',{staticClass:\"mt-3\",attrs:{\"device\":_vm.selectedDevice,\"type\":\"power\"}}):_vm._e(),(_vm.validateIfHasPermission([_vm.permissions.OS_MANAGEMENT_EXECUTIONS.value.dbValue,])\n && (_vm.selectedDevice.OSVendor === 'Microsoft' || _vm.selectedDevice.OSVendor === 'linux'))?_c('device-maintenance-actions',{staticClass:\"mt-3\",attrs:{\"device\":_vm.selectedDevice,\"type\":\"optimizations\"}}):_vm._e()],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeTab === _vm.getTabById('amtLogs').index),expression:\"activeTab === getTabById('amtLogs').index\"}]},[(_vm.amtInfo && _vm.amtInfo.amtStatus !== _vm.amtStatus.UNCONFIGURED.value.dbValue)?_c('div',{staticClass:\"mb-3\"},[_c('device-amt-logs',{ref:\"deviceIntelAmtLogs\",attrs:{\"max-quantity\":25,\"device-id\":_vm.selectedDevice.id}})],1):_vm._e()]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeTab === _vm.getTabById('notes').index),expression:\"activeTab === getTabById('notes').index\"}],staticClass:\"mb-3\"},[_c('device-log-notes',{attrs:{\"device-id\":this.$route.params.deviceId}})],1)],1)]):_vm._e(),_c('b-loading',{attrs:{\"is-full-page\":true},model:{value:(_vm.isRemovingDevice),callback:function ($$v) {_vm.isRemovingDevice=$$v},expression:\"isRemovingDevice\"}}),_c('portal-target',{attrs:{\"name\":\"modal-container\"}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.deviceHardware.length>=1)?_c('card',{attrs:{\"external-card\":\"material-card\"}},[_c('b-collapse',{staticClass:\"card\",attrs:{\"slot\":\"external-header\",\"open\":false},slot:\"external-header\",scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('card',{attrs:{\"internal-card\":\"card-header\",\"style-internal-header\":\"display:flex; width:100%\",\"style-internal-card\":\"display:flex;flex-direction:row;justify-content:space-between\"}},[_c('p',{staticClass:\"card-header-title header-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.isPeripheral ? \"Peripherals\": \"Hardware\")+\" \")]),_c('learn-more',{attrs:{\"url\":\"\"}})],1),_c('a',{staticClass:\"card-header-icon\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(props.open),expression:\"props.open\"}],attrs:{\"icon\":\"menu-up\"}}),_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.open),expression:\"!props.open\"}],attrs:{\"icon\":\"menu-down\"}})],1)])}}],null,false,3020067987)},[(_vm.hasCapacity)?_c('card',{attrs:{\"internal-card\":\"material-card-content\"}},_vm._l((_vm.deviceHardware),function(item){return _c('div',{key:item.id,staticClass:\"columns is-desktop\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{staticClass:\"column\"},[_c('p',{staticClass:\"subtitle\",staticStyle:{\"margin-bottom\":\"5px\"}},[_vm._v(\" \"+_vm._s(item.typeEnum.name)+\" \")]),(item.fromOS || item.type === _vm.hardwaresTypes.BATTERY.value.dbValue)?_c('b-tag',{attrs:{\"type\":\"is-primary\"}},[_vm._v(\" From OS \")]):_vm._e(),_vm._v(\"   \"),(item.fromAmt)?_c('b-tag',{attrs:{\"type\":\"is-primary\"}},[_vm._v(\" From AMT \")]):_vm._e()],1),_c('div',{staticClass:\"column\"},[(item.name && item.type !== 'Memory' && !item.name.match(/^\\s+$/))?_c('p',[_c('strong',[_vm._v(\"Name: \")]),_vm._v(\" \"+_vm._s(item.name)+\" \")]):_vm._e(),(item.type && item.type === 'Memory' && !item.type.match(/^\\s+$/)\n && item.name)?_c('p',[_c('strong',[_vm._v(\"Type: \")]),_vm._v(\" \"+_vm._s(item.name)+\" \")]):_vm._e(),(item.manufacturer && !item.manufacturer.match(/^\\s+$/))?_c('p',[_c('strong',[_vm._v(\"Manufacturer: \")]),_vm._v(\" \"+_vm._s(item.manufacturer)+\" \")]):_vm._e(),(item.model && !item.model.match(/^\\s+$/))?_c('p',[_c('strong',[_vm._v(\"Model: \")]),_vm._v(\" \"+_vm._s(item.model)+\" \")]):_vm._e(),(item.version && !item.version.match(/^\\s+$/))?_c('p',[_c('strong',[_vm._v(\"Version: \")]),_vm._v(\" \"+_vm._s(item.version)+\" \")]):_vm._e(),(item.capacity && !item.capacity.match(/^\\s+$/))?_c('p',[(item.type !== _vm.hardwaresTypes.BATTERY.value.dbValue)?_c('span',[_c('strong',[_vm._v(\"Capacity: \")]),_vm._v(\" \"+_vm._s(_vm._f(\"bytesSize\")(item.capacity,_vm.toBytesMetrics(item)))+\" \")]):_c('span',[_c('strong',[_vm._v(\"Capacity: \")]),_vm._v(\" \"+_vm._s(item.capacity)+\" Wh \")])]):_vm._e(),(item.cores && !item.cores.match(/^\\s+$/))?_c('p',[_c('strong',[_vm._v(\"Cores: \")]),_vm._v(\" \"+_vm._s(item.cores)+\" \")]):_vm._e(),(item.physicalCores && !item.physicalCores.match(/^\\s+$/))?_c('p',[_c('strong',[_vm._v(\"Physical cores: \")]),_vm._v(\" \"+_vm._s(item.physicalCores)+\" \")]):_vm._e(),(item.speed && !item.speed.match(/^\\s+$/))?_c('p',[_c('strong',[_vm._v(\"Speed: \")]),_vm._v(\" \"+_vm._s(item.speed)+\" \"+_vm._s((item.type === _vm.hardwaresTypes.CPU.value.dbValue) ? 'GHz' : (item.type === _vm.hardwaresTypes.MEMORY.value.dbValue) ? 'MHz' : '')+\" \")]):_vm._e(),(item.health)?_c('p',[_c('strong',[_vm._v(\"Health: \")]),_vm._v(\" \"+_vm._s(item.health)+\"% \"),_c('status-indicator',{attrs:{\"status\":_vm.changeColorHealth(item.health)}})],1):_vm._e(),(item.vendor)?_c('p',[_c('strong',[_vm._v(\"Vendor: \")]),_vm._v(\" \"+_vm._s(item.vendor)+\" \")]):_vm._e(),(item.memoryMax)?_c('p',[_c('strong',[_vm._v(\"Maximum memory: \")]),_vm._v(\" \"+_vm._s(_vm._f(\"bytesSize\")(item.memoryMax,'iec'))+\" \")]):_vm._e(),(item.memorySlots)?_c('p',[_c('strong',[_vm._v(\"Memory slots: \")]),_vm._v(\" \"+_vm._s(item.memorySlots)+\" \")]):_vm._e(),(item.SKU)?_c('p',[_c('strong',[_vm._v(\"SKU: \")]),_vm._v(\" \"+_vm._s(item.SKU)+\" \")]):_vm._e(),(item.typeChassis && !item.typeChassis.match(/^\\s+$/))?_c('p',[_c('strong',[_vm._v(\"Type: \")]),_vm._v(\" \"+_vm._s(item.typeChassis)+\" \")]):_vm._e(),(item.assetTag)?_c('p',[_c('strong',[_vm._v(\"Asset tag: \")]),_vm._v(\" \"+_vm._s(item.assetTag)+\" \")]):_vm._e(),(item.audioType)?_c('p',[_c('strong',[_vm._v(\"Type: \")]),_vm._v(\" \"+_vm._s(item.audioType)+\" \")]):_vm._e(),(item.in)?_c('p',[_c('strong',[_vm._v(\"In: \")]),_vm._v(\" \"+_vm._s(item.in)+\" \")]):_vm._e(),(item.out)?_c('p',[_c('strong',[_vm._v(\"Out: \")]),_vm._v(\" \"+_vm._s(item.out)+\" \")]):_vm._e(),(item.Channel)?_c('p',[_c('strong',[_vm._v(\"Channel: \")]),_vm._v(\" \"+_vm._s(item.Channel)+\" \")]):_vm._e(),(item.main)?_c('p',[_c('strong',[_vm._v(\"Main Display: \")]),_vm._v(\" \"+_vm._s(item.main)+\" \")]):_vm._e(),(item.connection)?_c('p',[_c('strong',[_vm._v(\"Connection: \")]),_vm._v(\" \"+_vm._s(item.connection)+\" \")]):_vm._e(),(item.resolutionX && item.resolutionY)?_c('p',[_c('strong',[_vm._v(\"Resolution: \")]),_vm._v(\" \"+_vm._s(`${item.resolutionX} x ${item.resolutionY}`)+\" \")]):_vm._e(),(item.location)?_c('p',[_c('strong',[_vm._v(\"Location: \")]),_vm._v(\" \"+_vm._s(item.location)+\" \")]):_vm._e(),(item.partNumber && !item.partNumber.match(/^\\s+$/))?_c('p',[_c('strong',[_vm._v(\"Part number: \")]),_vm._v(\" \"+_vm._s(item.partNumber)+\" \")]):_vm._e(),(item.serialNumber && !item.serialNumber.match(/^\\s+$/))?_c('p',[_c('strong',[_vm._v(\"Serial: \")]),_vm._v(\" \"+_vm._s(item.serialNumber)+\" \")]):_vm._e(),(item.releaseDate && !item.releaseDate.match(/^\\s+$/))?_c('p',[_c('strong',[_vm._v(\"Release date: \")]),_c('span',[_c('timeago',{key:`${item.id}-releaseDate`,attrs:{\"since\":item.releaseDate,\"no-future\":\"\"}})],1)]):_vm._e(),(item.updatedAt && !item.updatedAt.match(/^\\s+$/))?_c('p',[_c('strong',[_vm._v(\"Detected: \")]),_c('span',[_c('timeago',{key:`${item.id}-detected`,attrs:{\"since\":item.updatedAt,\"no-future\":\"\"}})],1)]):_vm._e()])])}),0):_c('disabled-feature',{attrs:{\"description\":\"You can control your hardware inventory here.\\n Your Boardgent plan does not support it..\"}})],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"material-card-content\"},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.description)+\" \")]),_c('br'),_c('button',{staticClass:\"button is-primary\",on:{\"click\":function($event){return _vm.crossHelper.openExternalLink(`${_vm.$websiteUrl}/contact-us`, true)}}},[_vm._v(\" Upgrade now \")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisabledFeature.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisabledFeature.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DisabledFeature.vue?vue&type=template&id=4f2ef13b&\"\nimport script from \"./DisabledFeature.vue?vue&type=script&lang=js&\"\nexport * from \"./DisabledFeature.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceHardware.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceHardware.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceHardware.vue?vue&type=template&id=4570f266&scoped=true&\"\nimport script from \"./DeviceHardware.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceHardware.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceHardware.vue?vue&type=style&index=0&id=4570f266&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4570f266\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('card',{attrs:{\"external-card\":\"material-card\"}},[_c('b-collapse',{staticClass:\"card\",attrs:{\"slot\":\"external-header\",\"open\":false},slot:\"external-header\",scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('card',{attrs:{\"internal-card\":\"card-header\",\"style-internal-header\":\"display:flex; width:100%\",\"style-internal-card\":\"display:flex;flex-direction:row;justify-content:space-between\"}},[_c('p',{staticClass:\"card-header-title header-title\",staticStyle:{\"flex-grow\":\"1\"},attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(\" Software \")]),_c('learn-more',{attrs:{\"url\":\"\"}})],1),_c('a',{staticClass:\"card-header-icon\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(props.open),expression:\"props.open\"}],attrs:{\"icon\":\"menu-up\"}}),_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.open),expression:\"!props.open\"}],attrs:{\"icon\":\"menu-down\"}})],1)])}}])},[(_vm.hasCapacity)?_c('card',{staticClass:\"material-card-content\"},[_c('b-tabs',{staticStyle:{\"flex\":\"1\"},attrs:{\"slot\":\"header\",\"animated\":false},slot:\"header\",model:{value:(_vm.activeTab),callback:function ($$v) {_vm.activeTab=$$v},expression:\"activeTab\"}},[(_vm.device.OSVendor === 'Microsoft')?_c('b-tab-item',{attrs:{\"label\":`Programs and Features (${_vm.totalMainSoftware})`}},[_c('b-table',{attrs:{\"data\":_vm.softwareResult,\"paginated\":_vm.totalData > _vm.maxQuantity,\"mobile-cards\":false,\"per-page\":_vm.maxQuantity,\"loading\":_vm.softwareResult.length === 0 && _vm.isFindSoftwarePending,\"current-page\":_vm.currentPage,\"default-sort\":\"name\",\"backend-pagination\":\"\",\"backend-sorting\":\"\",\"total\":_vm.totalData},on:{\"update:currentPage\":function($event){_vm.currentPage=$event},\"update:current-page\":function($event){_vm.currentPage=$event},\"page-change\":_vm.changePagination,\"sort\":_vm.sortTable}},[_c('b-table-column',{attrs:{\"field\":\"name\",\"label\":\"Name\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.name)+\" \")]}}],null,false,2982927002)}),_c('b-table-column',{attrs:{\"field\":\"vendor\",\"label\":\"Vendor\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.vendor)+\" \")]}}],null,false,2613072121)}),_c('b-table-column',{attrs:{\"field\":\"installedOn\",\"label\":\"Installed on\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(props.row.installedOn == 'Invalid date' ? '' : props.row.installedOn))+\" \")]}}],null,false,1493923824)}),_c('b-table-column',{attrs:{\"field\":\"version\",\"label\":\"Version\",\"sortable\":\"\",\"numeric\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.version)+\" \")]}}],null,false,1840628839)}),(_vm.device.OSVendor === 'Microsoft')?_c('b-table-column',{attrs:{\"field\":\"license\",\"label\":\"License\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_vm.getLicenseName(props.row.license))+\" \")]}}],null,false,3406782637)}):_vm._e(),_c('template',{slot:\"empty\"},[_c('section',{staticClass:\"section\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[_c('p',[_c('b-icon',{attrs:{\"icon\":\"file\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"There are no software to show.\")])])])])],2)],1):_vm._e(),_c('b-tab-item',{attrs:{\"label\":`All (${_vm.totalSoftware})`}},[_c('b-table',{attrs:{\"data\":_vm.softwareResult,\"paginated\":_vm.totalData > _vm.maxQuantity,\"mobile-cards\":false,\"per-page\":_vm.maxQuantity,\"loading\":_vm.softwareResult.length === 0 && _vm.isFindSoftwarePending,\"current-page\":_vm.currentPage,\"default-sort\":\"name\",\"backend-pagination\":\"\",\"backend-sorting\":\"\",\"total\":_vm.totalData},on:{\"update:currentPage\":function($event){_vm.currentPage=$event},\"update:current-page\":function($event){_vm.currentPage=$event},\"page-change\":_vm.changePagination,\"sort\":_vm.sortTable}},[_c('b-table-column',{attrs:{\"field\":\"name\",\"label\":\"Name\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.name)+\" \")]}}],null,false,2982927002)}),_c('b-table-column',{attrs:{\"field\":\"vendor\",\"label\":\"Vendor\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.vendor)+\" \")]}}],null,false,2613072121)}),_c('b-table-column',{attrs:{\"field\":\"installedOn\",\"label\":\"Installed on\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [(props.row.installedOn)?_c('div',[_c('timeago',{attrs:{\"since\":props.row.installedOn,\"no-future\":\"\"}})],1):_vm._e()]}}],null,false,638513810)}),_c('b-table-column',{attrs:{\"field\":\"version\",\"label\":\"Version\",\"sortable\":\"\",\"numeric\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.version)+\" \")]}}],null,false,1840628839)}),(_vm.device.OSVendor === 'Microsoft')?_c('b-table-column',{attrs:{\"field\":\"license\",\"label\":\"License\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_vm.getLicenseName(props.row.license))+\" \")]}}],null,false,3406782637)}):_vm._e(),_c('template',{slot:\"empty\"},[_c('section',{staticClass:\"section\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[_c('p',[_c('b-icon',{attrs:{\"icon\":\"file\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"There are no software to show.\")])])])])],2)],1)],1)],1):_c('disabled-feature',{attrs:{\"description\":\"You can control your hardware inventory here.\\n Your Boardgent plan does not support it\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceSoftware.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceSoftware.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceSoftware.vue?vue&type=template&id=3619e86a&scoped=true&\"\nimport script from \"./DeviceSoftware.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceSoftware.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceSoftware.vue?vue&type=style&index=0&id=3619e86a&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3619e86a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.totalData > 0)?_c('card',{attrs:{\"external-card\":\"material-card\"}},[_c('b-collapse',{staticClass:\"card\",attrs:{\"slot\":\"external-header\",\"open\":false},slot:\"external-header\",scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('card',{attrs:{\"internal-card\":\"card-header\",\"style-internal-header\":\"display:flex; width:100%\",\"style-internal-card\":\"display:flex;flex-direction:row;justify-content:space-between\"}},[_c('p',{staticClass:\"card-header-title header-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(\" Updates \")]),_c('learn-more',{attrs:{\"url\":\"\"}})],1),_c('a',{staticClass:\"card-header-icon\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(props.open),expression:\"props.open\"}],attrs:{\"icon\":\"menu-up\"}}),_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.open),expression:\"!props.open\"}],attrs:{\"icon\":\"menu-down\"}})],1)])}}],null,false,1173124462)},[(_vm.hasCapacity)?_c('card',{attrs:{\"internal-card\":\"card-content\"}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"flex-wrap\":\"wrap\",\"gap\":\"10px\"}},[_c('div',[(_vm.device.pendingUpdatesCount != -1)?_c('p',[_c('strong',[_vm._v(\"Windows updates: \")]),_vm._v(\" \"+_vm._s(_vm.device.pendingUpdatesCount === 0 ? 'The system is up to date' : (_vm.device.pendingUpdatesCount === 1 ? '1 Update pending' : `${_vm.device.pendingUpdatesCount} Updates pending`))+\" \")]):_vm._e(),(_vm.device.windowsAutoUpdateStatus !== null)?_c('p',[_c('strong',[_vm._v(\"Windows auto update:\")]),_vm._v(\" \"+_vm._s(_vm.device.windowsAutoUpdateStatus ? 'Enabled' : 'Disabled')+\" \")]):_vm._e()]),_c('div',{staticStyle:{\"display\":\"flex\",\"flex-wrap\":\"wrap\",\"gap\":\"10px\",\"flex-basis\":\"content\"}},_vm._l((_vm.updateActions),function(action){return _c('b-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.validateIfHasPermission([_vm.permissions.UPDATE_EXECUTIONS.value.dbValue])),expression:\"validateIfHasPermission([permissions.UPDATE_EXECUTIONS.value.dbValue])\"}],key:action.id,staticClass:\"is-primary\",on:{\"click\":function($event){return _vm.startExecution(action)}}},[_vm._v(\" \"+_vm._s(action.name)+\" \")])}),1)]),_c('br'),_c('strong',[_vm._v(\"Installed updates (\"+_vm._s(_vm.totalData)+\") \")]),_c('b-table',{staticStyle:{\"flex\":\"1\"},attrs:{\"data\":_vm.updatesResult,\"mobile-cards\":false,\"per-page\":_vm.maxQuantity,\"paginated\":_vm.totalData > _vm.maxQuantity,\"loading\":_vm.updatesResult.length === 0 && _vm.isFindUpdatesPending,\"current-page\":_vm.currentPage,\"backend-pagination\":\"\",\"backend-sorting\":\"\",\"total\":_vm.totalData,\"default-sort\":\"title\"},on:{\"update:currentPage\":function($event){_vm.currentPage=$event},\"update:current-page\":function($event){_vm.currentPage=$event},\"page-change\":_vm.changePagination,\"sort\":_vm.sortTable}},[_c('b-table-column',{attrs:{\"field\":\"title\",\"label\":\"Title\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.title)+\" \")]}}],null,false,1662046397)}),_c('b-table-column',{attrs:{\"field\":\"updateId\",\"label\":\"Update Id\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.updateId)+\" \")]}}],null,false,3712280801)}),_c('b-table-column',{attrs:{\"field\":\"installedOn\",\"label\":\"Installed on\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('div',[_c('timeago',{key:props.row.id,attrs:{\"since\":props.row.installedOn,\"no-future\":\"\"}})],1)]}}],null,false,647083552)}),_c('template',{slot:\"empty\"},[_c('section',{staticClass:\"section\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[_c('p',[_c('b-icon',{attrs:{\"icon\":\"file\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"There are no updates to show.\")])])])])],2)],1)]):_c('disabled-feature',{attrs:{\"description\":\"With this feature you can manage the Windows updates in your computers. Your\\n Boardgent plan does not support it.\"}})],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceUpdates.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceUpdates.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceUpdates.vue?vue&type=template&id=3dcc269e&scoped=true&\"\nimport script from \"./DeviceUpdates.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceUpdates.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceUpdates.vue?vue&type=style&index=0&id=3dcc269e&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3dcc269e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('card',{ref:\"deviceLocationContent\",attrs:{\"slot\":\"external-body\",\"external-card\":\"card\",\"style-internal-card\":\"flex:auto\",\"internal-card\":\"material-card\"},slot:\"external-body\"},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{attrs:{\"slot\":\"body\",\"id\":\"wrapper\"},slot:\"body\"},[(_vm.locationsSelected && _vm.mapLocation)?_c('gmap-map',{staticStyle:{\"height\":\"420px\",\"z-index\":\"0\"},attrs:{\"center\":_vm.mapLocation,\"zoom\":_vm.zoom,\"options\":{\n 'minZoom': 2,\n 'maxZoom': 20,\n 'streetViewControl': false,\n 'mapTypeControl': false,\n 'clickableIcons': false\n }},on:{\"click\":function($event){return _vm.addPath($event)}}},[_c('gmap-marker',{attrs:{\"position\":_vm.mapMarker,\"icon\":{'url': require('@/assets/img/map_icon.svg')}},on:{\"click\":function($event){return _vm.toggleInfoWindow($event)}}}),_c('gmap-info-window',{attrs:{\"position\":_vm.mapMarker,\"opened\":_vm.infoWinOpen},on:{\"closeclick\":function($event){_vm.infoWinOpen=false}}},[_vm._v(\" \"+_vm._s(`${_vm.locationSelected ? _vm.locationSelected.address : ''}`)+\" \")]),_vm._l((_vm.perimeters.filter(\n (x) => x.type.dbValue === _vm.locationPerimeterType.POLYGON.value.dbValue)),function(perimeter,index){return _c('gmap-polygon',{key:index,ref:\"polygon\",refInFor:true,attrs:{\"editable\":perimeter.value === _vm.selectedPerimeter,\"paths\":perimeter.paths},on:{\"paths_changed\":function($event){return _vm.updateEdited($event)}}})}),_vm._l((_vm.perimeters.filter((x) =>\n x.type.dbValue === _vm.locationPerimeterType.MARKER.value.dbValue\n && x.center.lat && x.center.lng\n && x.radius)),function(perimeter){return _c('gmap-circle',{key:perimeter.name,attrs:{\"center\":{lat: parseFloat(perimeter.center.lat), lng: parseFloat(perimeter.center.lng)},\"radius\":parseFloat(perimeter.radius),\"visible\":true,\"editable\":perimeter.value === _vm.selectedPerimeter,\"options\":{'fillColor':'red', 'fillOpacity':0.2}},on:{\"radius_changed\":function($event){return _vm.radiusChanged($event)},\"center_changed\":function($event){return _vm.centerChanged($event)}}})})],2):_vm._e(),(_vm.validateIfHasCapability([_vm.planCapabilities.GEOFENCING.value])\n && _vm.locationsSelected && _vm.mapLocation)?_c('manage-zones',{attrs:{\"perimeters\":_vm.perimeters,\"on-update-parameters\":_vm.updatePerimeters,\"on-save-perimeters\":_vm.savePerimeters}}):_vm._e()],1),_c('learn-more',{attrs:{\"url\":\"\"}}),_c('b-tabs',{staticStyle:{\"width\":\"-webkit-fill-available\"},attrs:{\"animated\":false},model:{value:(_vm.activeTab),callback:function ($$v) {_vm.activeTab=$$v},expression:\"activeTab\"}},[_c('b-tab-item',{attrs:{\"label\":\"Locations\"}},[_c('b-table',{attrs:{\"data\":_vm.locationsResult,\"mobile-cards\":false,\"paginated\":_vm.totalData > _vm.maxQuantity,\"per-page\":_vm.maxQuantity,\"loading\":_vm.locationsResult.length === 0 && _vm.isFindLocationsPending,\"selected\":_vm.locationSelected,\"current-page\":_vm.currentPage,\"hoverable\":\"\",\"backend-pagination\":\"\",\"backend-sorting\":\"\",\"total\":_vm.totalData,\"default-sort\":\"createdAt\",\"default-sort-direction\":\"desc\"},on:{\"update:selected\":function($event){_vm.locationSelected=$event},\"update:currentPage\":function($event){_vm.currentPage=$event},\"update:current-page\":function($event){_vm.currentPage=$event},\"select\":_vm.changeMapMarker,\"page-change\":_vm.changePagination,\"sort\":_vm.sortTable}},[_c('b-table-column',{attrs:{\"field\":\"address\",\"label\":\"Location\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.address)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"createdAt\",\"label\":\"Connected\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('div',[_c('timeago',{key:props.row.id,attrs:{\"since\":props.row.createdAt,\"no-future\":\"\"}})],1)]}}])}),_c('b-table-column',{attrs:{\"label\":\"Time there\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [(_vm.isOnline && props.row.firstRecord)?_c('span',[_c('timeago',{key:props.row.id,attrs:{\"since\":props.row.createdAt,\"without-suffix\":\"\",\"no-future\":\"\",\"no-date\":\"\"}})],1):_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"duration\")(new Date(props.row.updatedAt) - new Date(props.row.createdAt)))+\" \")])]}}])}),_c('b-table-column',{attrs:{\"field\":\"updatedAt\",\"label\":\"Disconnected\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [(_vm.isOnline && props.row.firstRecord)?_c('span',[_vm._v(\" Still connected there \")]):_c('span',[_c('div',[_c('timeago',{key:props.row.id,attrs:{\"since\":props.row.updatedAt,\"no-future\":\"\"}})],1)])]}}])}),_c('b-table-column',{attrs:{\"field\":\"\",\"label\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('button',{staticClass:\"button is-primary is-small main-card-form-button is-outlined is-bgbuttonwhite is-bgbuttonred\",on:{\"click\":function($event){return _vm.showHideDetails(props.row.id, true)}}},[_c('span',[_vm._v(\"Details \")])])]}}])}),_c('template',{slot:\"empty\"},[_c('section',{staticClass:\"section\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[_c('p',[_vm._v(\"There are no locations to show\")])])])])],2)],1),_c('b-tab-item',{staticClass:\"pl-4 pr-4\",attrs:{\"visible\":_vm.activeTab === 1,\"disabled\":_vm.locationSelected == undefined,\"label\":\"Details\"}},[(_vm.locationSelected)?_c('template',{slot:\"header\"},[_c('span',[_vm._v(_vm._s(_vm.locationSelected.address)+\" \")])]):_vm._e(),_c('div',[_c('LocationDetails',{attrs:{\"location\":_vm.locationSelected,\"is-online\":_vm.isOnline}}),_c('button',{staticClass:\"button is-primary force-right\",on:{\"click\":function($event){return _vm.showHideDetails(_vm.locationSelected ? _vm.locationSelected.id : 0, false)}}},[_c('b-icon',{attrs:{\"icon\":\"arrow-left\"}}),_c('span',[_vm._v(\"Back to List\")])],1)],1)],2)],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.deviceSelect && _vm.deviceSelect.name)?_c('p',{staticClass:\"margin-bottom\"},[_c('router-link',{staticClass:\"is-text link-style\",attrs:{\"to\":`/${_vm.$route.params.companyId}/device/${_vm.deviceSelect.id}`}},[_c('p',{staticClass:\"subtitle\"},[_vm._v(\" \"+_vm._s(_vm.deviceSelect.name)+\" \")])])],1):_vm._e(),_c('p',[_c('strong',[_vm._v(\"Approximate address: \")]),_vm._v(\" \"+_vm._s(_vm.location ? _vm.location.address : '')+\" \")]),(_vm.location && _vm.location.city)?_c('p',[_c('strong',[_vm._v(\"City: \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.location.city)+\" \")])]):_vm._e(),(_vm.location && _vm.location.region)?_c('p',[_c('strong',[_vm._v(\"Region: \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.location.region)+\" \")])]):_vm._e(),_c('p',[_c('strong',[_vm._v(\"Country: \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.location ? _vm.location.country : '')+\" \")])]),_c('p',[_c('strong',[_vm._v(\"Postal code: \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.location ? _vm.location.postal : '')+\" \")])]),_c('p',[_c('strong',[_vm._v(\"Latitude: \")]),_vm._v(\" \"+_vm._s(_vm.location ? _vm.location.loc.split(',')[0] : '')+\" \")]),_c('p',[_c('strong',[_vm._v(\"Longitude: \")]),_vm._v(\" \"+_vm._s(_vm.location ? _vm.location.loc.split(',')[1] : '')+\" \")]),(_vm.location && _vm.location.altitude)?_c('p',[_c('strong',[_vm._v(\"Altitude: \")]),_c('span',[_vm._v(_vm._s(Math.round(_vm.location.altitude))+\" meters\")])]):_vm._e(),(_vm.location && _vm.location.detectionMethod)?_c('p',[_c('strong',[_vm._v(\"Detection method: \")]),(_vm.location.detectionMethod === _vm.locationDetectionMethod.IP_ADDRESS.value)?_c('span',[_vm._v(\" IP address \")]):(_vm.location.detectionMethod === _vm.locationDetectionMethod.NATIVE.value)?_c('span',[_vm._v(\" OS native sensors \")]):(_vm.location.detectionMethod === _vm.locationDetectionMethod.WIFI.value)?_c('span',[_vm._v(\" Wi-Fi positioning \")]):(_vm.location.detectionMethod === _vm.locationDetectionMethod.NEARBY_DEVICES.value)?_c('span',[_vm._v(\" Based on near computers \")]):_vm._e()]):_vm._e(),(_vm.location && _vm.location.horizontalAccuracy)?_c('p',[_c('strong',[_vm._v(\"Horizontal accuracy: \")]),_c('span',[_vm._v(_vm._s(_vm._f(\"number\")(_vm.location.horizontalAccuracy,'0'))+\" meters\")])]):_vm._e(),(_vm.location && _vm.location.verticalAccuracy)?_c('p',[_c('strong',[_vm._v(\"Vertical Accuracy: \")]),_c('span',[_vm._v(_vm._s(_vm._f(\"number\")(_vm.location.verticalAccuracy,'0'))+\" meters\")])]):_vm._e(),_c('p',[_c('strong',[_vm._v(\"Public IP: \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.location ? _vm.location.publicIp : '')+\" \")])]),(_vm.location && _vm.location.userType)?_c('p',[_c('strong',[_vm._v(\"Connection type: \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"capitalize\")(_vm.location.userType))+\" \")])]):_vm._e(),_c('p',[_c('strong',[_vm._v(\"ISP: \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.location ? _vm.location.publicIpOrg : '')+\" \")])]),(_vm.location && _vm.location.gatewayMacAddress)?_c('p',[_c('strong',[_vm._v(\"Gateway MAC: \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"uppercase\")(_vm.location.gatewayMacAddress))+\" \")])]):_vm._e(),_c('p',[_c('strong',[_vm._v(\"First connection there: \")]),(_vm.location)?_c('span',[_c('timeago',{attrs:{\"since\":_vm.location.createdAt,\"no-future\":\"\"}})],1):_vm._e()]),_c('p',[_c('strong',[_vm._v(\"Last detection there: \")]),(_vm.location)?_c('span',[(_vm.isOnline && _vm.location.firstRecord)?_c('span',[_vm._v(\" Still connected \")]):_c('timeago',{attrs:{\"since\":_vm.location.updatedAt,\"no-future\":\"\"}})],1):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocationDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocationDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LocationDetails.vue?vue&type=template&id=c576b9e8&scoped=true&\"\nimport script from \"./LocationDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./LocationDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LocationDetails.vue?vue&type=style&index=0&id=c576b9e8&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c576b9e8\",\n null\n \n)\n\nexport default component.exports","\n \n\n \n \n \n Still connected there\n \n \n
\n \n
\n
\n \n \n\n \n \n \n \n \n \n \n \n {{ locationSelected.address }}\n \n \n
\n \n \n \n Back to List\n \n
\n \n \n \n \n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceLocation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceLocation.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceLocation.vue?vue&type=template&id=545e8f93&scoped=true&\"\nimport script from \"./DeviceLocation.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceLocation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceLocation.vue?vue&type=style&index=0&id=545e8f93&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"545e8f93\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('card',{attrs:{\"external-card\":\"material-card\"}},[_c('b-collapse',{staticClass:\"card\",attrs:{\"slot\":\"external-header\",\"open\":false},slot:\"external-header\",scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('card',{attrs:{\"internal-card\":\"card-header\",\"style-internal-header\":\"display:flex; width:100%\",\"style-internal-card\":\"display:flex;flex-direction:row;justify-content:space-between\"}},[_c('p',{staticClass:\"card-header-title header-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(\" Network \")]),_c('learn-more',{attrs:{\"url\":\"\"}})],1),_c('a',{staticClass:\"card-header-icon\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(props.open),expression:\"props.open\"}],attrs:{\"icon\":\"menu-up\"}}),_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.open),expression:\"!props.open\"}],attrs:{\"icon\":\"menu-down\"}})],1)])}}])},[_c('card',{attrs:{\"internal-card\":\"material-card-content\"}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[(_vm.device.publicIp)?_c('div',[_c('strong',[_vm._v(\" Public IP:\")]),_vm._v(\" \"+_vm._s(_vm.device.publicIp)+\" \"),_c('br'),_c('br')]):_vm._e(),_c('strong',[_vm._v(\" Network interfaces \")]),_c('b-table',{staticStyle:{\"flex\":\"1\"},attrs:{\"slot\":\"body\",\"data\":_vm.networkInterfaces,\"paginated\":_vm.networkInterfaces.length > _vm.maxQuantity,\"per-page\":_vm.maxQuantity,\"mobile-cards\":false,\"default-sort\":\"name\"},slot:\"body\"},[_c('b-table-column',{attrs:{\"field\":\"displayName\",\"label\":\"Name\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.displayName)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"macAddress\",\"label\":\"MAC address\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_vm._f(\"uppercase\")(props.row.macAddress))+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"IPv4\",\"label\":\"IPv4\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.IPv4)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"IPv6\",\"label\":\"IPv6\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.IPv6)+\" \")]}}])}),_c('template',{slot:\"empty\"},[_c('section',{staticClass:\"section\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[_c('p',[_c('b-icon',{attrs:{\"icon\":\"file\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"There are no network interfaces to show\")])])])])],2)],1)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceNetworkInterfaces.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceNetworkInterfaces.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceNetworkInterfaces.vue?vue&type=template&id=c277a056&scoped=true&\"\nimport script from \"./DeviceNetworkInterfaces.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceNetworkInterfaces.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceNetworkInterfaces.vue?vue&type=style&index=0&id=c277a056&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c277a056\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('card',{attrs:{\"external-card\":\"material-card\"}},[_c('b-collapse',{staticClass:\"card\",attrs:{\"slot\":\"external-header\",\"open\":false},slot:\"external-header\",scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('card',{attrs:{\"internal-card\":\"card-header\",\"style-internal-header\":\"display:flex; width:100%\",\"style-internal-card\":\"display:flex;flex-direction:row;justify-content:space-between\"}},[_c('p',{staticClass:\"card-header-title header-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(\" Users \")]),_c('learn-more',{attrs:{\"url\":\"\"}})],1),_c('a',{staticClass:\"card-header-icon\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(props.open),expression:\"props.open\"}],attrs:{\"icon\":\"menu-up\"}}),_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.open),expression:\"!props.open\"}],attrs:{\"icon\":\"menu-down\"}})],1)])}}])},[_c('card',{attrs:{\"internal-card\":\"material-card material-card-content\",\"style-internal-card\":\"flex:auto\"}},[_c('div',{staticStyle:{\"display\":\"flex\"},attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.users,\"paginated\":_vm.pagination,\"per-page\":_vm.maxQuantity,\"mobile-cards\":false,\"default-sort\":\"lastDetection\",\"default-sort-direction\":\"desc\"}},[_c('b-table-column',{attrs:{\"field\":\"userName\",\"label\":\"User name\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.userName)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"sid\",\"label\":\"SID\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.sid)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"domain\",\"label\":\"Domain\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.domain)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"lastDetection\",\"label\":\"Detected\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('timeago',{key:props.row.id,attrs:{\"since\":props.row.lastDetection,\"no-future\":\"\"}})]}}])}),_c('template',{slot:\"empty\"},[_c('section',{staticClass:\"section\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[_c('p',[_c('b-icon',{attrs:{\"icon\":\"file\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"There are no users to show\")])])])])],2),_c('learn-more',{attrs:{\"url\":\"\"}})],1)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceUsers.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceUsers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceUsers.vue?vue&type=template&id=7717285c&scoped=true&\"\nimport script from \"./DeviceUsers.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceUsers.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceUsers.vue?vue&type=style&index=0&id=7717285c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7717285c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('card',{attrs:{\"slot\":\"external-body\",\"external-card\":\"card\",\"style-internal-card\":\"flex:auto\",\"internal-card\":\"material-card material-card-content\"},slot:\"external-body\"},[_c('h1',{staticClass:\"subtitle\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(\" Intel® AMT Logs \")]),_c('div',{staticStyle:{\"display\":\"flex\"},attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.amtLogs,\"paginated\":_vm.amtLogs.length > _vm.maxQuantity,\"per-page\":_vm.maxQuantity,\"hoverable\":\"\",\"mobile-cards\":false,\"pagination-simple\":\"\",\"default-sort\":\"time\",\"default-sort-direction\":\"desc\"}},[_c('b-table-column',{attrs:{\"field\":\"initiator\",\"label\":\"Initiator\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.initiator)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"address\",\"label\":\"Address\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.address)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"type\",\"label\":\"Type\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.type)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"event\",\"label\":\"Event\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.event)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"details\",\"label\":\"Details\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.details)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"time\",\"label\":\"Date and Time\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('div',[_c('timeago',{key:props.row.id,attrs:{\"since\":props.row.time,\"no-future\":\"\"}})],1)]}}])})],1),_c('learn-more',{attrs:{\"url\":\"\"}})],1),[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[(_vm.amtLogs.length > 0)?_c('div',{staticStyle:{\"margin-top\":\"15px\"}}):_c('div',[_c('span',{staticClass:\"section\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[_c('p',[_c('b-icon',{attrs:{\"icon\":\"file\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"No AMT Logs Found.\")])])])]),_c('div',{staticClass:\"centerButton\"},[_c('button',{class:{ 'button': true, 'is-primary': true },staticStyle:{\"margin-bottom\":\"15px\"},on:{\"click\":function($event){return _vm.fetchAMTLogs()}}},[_c('b-icon',{attrs:{\"icon\":\"database-refresh\"}}),_c('span',[_vm._v(\"Refresh\")])],1)])])]],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceAmtLogs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceAmtLogs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceAmtLogs.vue?vue&type=template&id=f790fcac&scoped=true&\"\nimport script from \"./DeviceAmtLogs.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceAmtLogs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceAmtLogs.vue?vue&type=style&index=0&id=f790fcac&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f790fcac\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('card',{attrs:{\"external-card\":\"material-card\"}},[_c('b-collapse',{staticClass:\"card\",attrs:{\"slot\":\"external-header\",\"open\":false},slot:\"external-header\",scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('card',{attrs:{\"internal-card\":\"card-header\",\"style-internal-header\":\"display:flex; width:100%\",\"style-internal-card\":\"display:flex; flex-direction:row;justify-content:space-between\"}},[_c('p',{staticClass:\"card-header-title header-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(\" Intel® vPro AMT \")]),_c('learn-more',{attrs:{\"url\":\"\"}})],1),_c('a',{staticClass:\"card-header-icon\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(props.open),expression:\"props.open\"}],attrs:{\"icon\":\"menu-up\"}}),_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.open),expression:\"!props.open\"}],attrs:{\"icon\":\"menu-down\"}})],1)])}}])},[(_vm.hasCapacity)?_c('card',{attrs:{\"internal-card\":\"material-card-content\"}},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[(!_vm.device.amtVersion || _vm.device.amtVersion === '0')?_c('div',[_vm._v(\" Not supported \")]):_c('div',[_c('p',[_c('strong',[_vm._v(\"Version: \")]),_vm._v(\" \"+_vm._s(_vm.device.amtVersion))]),(_vm.device.amtSku)?_c('p',[_c('strong',[_vm._v(\"SKU: \")]),_vm._v(\" \"+_vm._s(_vm.device.amtSku)+\" \")]):_vm._e(),(_vm.device.amtCapabilities)?_c('p',[_c('strong',[_vm._v(\"Capabilities: \")]),_vm._v(\" \"+_vm._s(_vm.device.amtCapabilities)+\" \")]):_vm._e(),_c('p',[_c('strong',[_vm._v(\"Provisioning Mode: \")]),(_vm.amtInfo)?_c('span',[_vm._v(\" \"+_vm._s(_vm.amtInfo.amtMode === _vm.amtMode.ENTERPRISE_MODE.value ? 'Enterprise Control Mode' : _vm.amtInfo.amtMode === _vm.amtMode.CLIENT_MODE.value ? 'Client Control Mode (CCM)' : _vm.amtInfo.amtMode === _vm.amtMode.ADMIN_MODE.value ? 'Admin Control Mode (ACM)' : 'Not Provisioned')+\" \")]):_c('span',[_vm._v(\" Not Provisioned \")])])])]),(_vm.amtInfo && _vm.amtInfo.amtStatus !== _vm.amtStatus.UNCONFIGURED.value.dbValue)?_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',[_c('p',{staticStyle:{\"display\":\"inline-block\"}},[_c('strong',[_vm._v(\"KVM Redirection: \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.amtInfo.redirectionPortEnabled ? 'Enabled' : 'Disabled')+\" \")])])]),_c('div',[_c('p',{staticStyle:{\"display\":\"inline-block\"}},[_c('strong',[_vm._v(\"User Consent: \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.amtInfo.optInState === _vm.optInState.NECESSARY.value.dbValue ? 'Required for All Operations' : _vm.amtInfo.optInState === _vm.optInState.ONLY_KVM.value.dbValue ? 'Required for All Operations' : _vm.amtInfo.optInState === _vm.optInState.UNNECESSARY.value.dbValue ? 'Not Required' : 'Unknown')+\" \")])])]),_c('div',[_c('p',{staticStyle:{\"display\":\"inline-block\"}},[_c('strong',[_vm._v(\"EHBC: \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.amtInfo.amtEHBC === _vm.amtEHBC.ENABLED.value ? 'Enabled' : _vm.amtInfo.amtEHBC === _vm.amtEHBC.DISABLED.value ? 'Disabled' : 'Unknown')+\" \")])])]),_c('div',[_c('p',{staticStyle:{\"display\":\"inline-block\"}},[_c('strong',[_vm._v(\"Wireless for Intel® AMT: \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.amtInfo.wirelessState === _vm.amtWirelessStatus.DISABLED.value.dbValue ? 'Disabled' : _vm.amtInfo.wirelessState === _vm.amtWirelessStatus.ENABLED_TURNED_ON.value.dbValue ? 'Enabled when the device is on' : _vm.amtInfo.wirelessState === _vm.amtWirelessStatus.ENABLED_TURNED_ON_AND_SLEEP.value.dbValue ? 'Enabled when the device is on and suspended (Only when connected to AC)' : _vm.amtInfo.wirelessState === _vm.amtWirelessStatus.NOT_SUPPORTED.value.dbValue ? 'Not Supported' : 'Unknown')+\" \")])])]),_c('div',[_c('p',{staticStyle:{\"display\":\"inline-block\"}},[_c('strong',[_vm._v(\"Local TLS Security: \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.getTLSName(_vm.amtInfo.tlsLocal))+\" \")])])]),_c('div',[_c('p',{staticStyle:{\"display\":\"inline-block\"}},[_c('strong',[_vm._v(\"Remote TLS Security: \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.getTLSName(_vm.amtInfo.tlsRemote))+\" \")])])])]):_vm._e()]):_c('disabled-feature',{attrs:{\"description\":\"If you have devices that support Intel vPro AMT, you can enable and manage it.\\n Your Boardgent plan does not support it.\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceAmtDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceAmtDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceAmtDetails.vue?vue&type=template&id=331415d4&scoped=true&\"\nimport script from \"./DeviceAmtDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceAmtDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceAmtDetails.vue?vue&type=style&index=0&id=331415d4&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"331415d4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('card',{attrs:{\"external-card\":\"material-card\"}},[_c('b-collapse',{staticClass:\"card\",attrs:{\"slot\":\"external-header\",\"open\":false},slot:\"external-header\",scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('card',{attrs:{\"internal-card\":\"card-header\",\"style-internal-header\":\"display:flex; width:100%\",\"style-internal-card\":\"display:flex;flex-direction:row;justify-content:space-between\"}},[_c('p',{staticClass:\"card-header-title header-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(\" Operating system \")]),_c('learn-more',{attrs:{\"url\":\"\"}})],1),_c('a',{staticClass:\"card-header-icon\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(props.open),expression:\"props.open\"}],attrs:{\"icon\":\"menu-up\"}}),_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.open),expression:\"!props.open\"}],attrs:{\"icon\":\"menu-down\"}})],1)])}}])},[_c('card',{attrs:{\"internal-card\":\"material-card-content\"}},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[(_vm.device.OS)?_c('p',[_c('strong',[_vm._v(\"Name: \")]),_vm._v(\" \"+_vm._s(_vm.device.OS)+\" \")]):_vm._e(),(_vm.device.OSVendor)?_c('p',[_c('strong',[_vm._v(\"Vendor: \")]),_vm._v(\" \"+_vm._s(_vm.device.OSVendor)+\" \")]):_vm._e(),(_vm.device.OSBuild)?_c('p',[_c('strong',[_vm._v(\"Version: \")]),_vm._v(\" \"+_vm._s(_vm.device.OSBuild)+\" \")]):_vm._e(),(_vm.device.osArch)?_c('p',[_c('strong',[_vm._v(\"Architecture: \")]),_vm._v(\" \"+_vm._s(_vm.device.osArch)+\" \")]):_vm._e(),(_vm.device.domain)?_c('p',[_c('strong',[_vm._v(\"Domain/Workgroup: \")]),_vm._v(\" \"+_vm._s(_vm.device.domain)+\" \")]):_vm._e(),(_vm.device.freezeStatus)?_c('p',[_c('strong',[_vm._v(\"Freeze status: \")]),_vm._v(\" \"+_vm._s(_vm.getNameFromEnum(_vm.device.freezeStatus, _vm.freezeStatusEnumValues))+\" \")]):_vm._e(),(_vm.device.osBootType)?_c('p',[_c('strong',[_vm._v(\"Boot type: \")]),_vm._v(\" \"+_vm._s(_vm.getNameFromEnum(_vm.device.osBootType, _vm.bootTypeEnumValues))+\" \")]):_vm._e(),(_vm.device.secureBoot)?_c('p',[_c('strong',[_vm._v(\"Secure boot: \")]),_vm._v(\" \"+_vm._s(_vm.getNameFromEnum(_vm.device.secureBoot, _vm.secureBootEnumValues))+\" \")]):_vm._e(),(_vm.device.licenseStatus)?_c('p',[_c('strong',[_vm._v(\"License status: \")]),_vm._v(\" \"+_vm._s(_vm.getNameFromEnum(parseInt(_vm.device.licenseStatus), _vm.licenseEnumValues))+\" \")]):_vm._e(),(_vm.device.osInstallationDate)?_c('p',[_c('strong',[_vm._v(\"Install date: \")]),_c('span',[_c('timeago',{attrs:{\"since\":_vm.device.osInstallationDate,\"no-future\":\"\"}})],1)]):_vm._e()])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DevicesOperatingSystem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DevicesOperatingSystem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DevicesOperatingSystem.vue?vue&type=template&id=8c895c48&scoped=true&\"\nimport script from \"./DevicesOperatingSystem.vue?vue&type=script&lang=js&\"\nexport * from \"./DevicesOperatingSystem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DevicesOperatingSystem.vue?vue&type=style&index=0&id=8c895c48&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8c895c48\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.device.firewall || _vm.device.antivirus)?_c('div',{staticClass:\"mb-3\"},[_c('card',{attrs:{\"external-card\":\"material-card\"}},[_c('b-collapse',{staticClass:\"card\",attrs:{\"slot\":\"external-header\",\"open\":false},slot:\"external-header\",scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('card',{attrs:{\"internal-card\":\"card-header\",\"style-internal-header\":\"display:flex; width:100%\",\"style-internal-card\":\"display:flex;flex-direction:row;justify-content:space-between\"}},[_c('p',{staticClass:\"card-header-title header-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(\" Security features inventory \")]),_c('learn-more',{attrs:{\"url\":\"\"}})],1),_c('a',{staticClass:\"card-header-icon\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(props.open),expression:\"props.open\"}],attrs:{\"icon\":\"menu-up\"}}),_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.open),expression:\"!props.open\"}],attrs:{\"icon\":\"menu-down\"}})],1)])}}],null,false,730908151)},[_c('card',{attrs:{\"internal-card\":\"material-card-content\"}},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[(_vm.device.firewall)?_c('p',[_c('strong',[_vm._v(\"Firewall: \")]),_vm._v(\" \"+_vm._s(_vm.getNameFromEnum(_vm.device.firewall, _vm.firewallEnumValues))+\" \")]):_vm._e(),(_vm.device.antivirus)?_c('p',[_c('strong',[_vm._v(\"Windows Defender:\")]),_vm._v(\" \"+_vm._s(_vm.getNameFromEnum(_vm.device.antivirus, _vm.antivirusEnumValues))+\" \")]):_vm._e()])])],1)],1)],1):_vm._e(),_c('learn-more',{attrs:{\"url\":\"\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceSecurityFeatures.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceSecurityFeatures.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceSecurityFeatures.vue?vue&type=template&id=40dbb314&scoped=true&\"\nimport script from \"./DeviceSecurityFeatures.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceSecurityFeatures.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceSecurityFeatures.vue?vue&type=style&index=0&id=40dbb314&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"40dbb314\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.bootOrder.length > 0)?_c('div',{staticClass:\"mb-3\"},[_c('card',{attrs:{\"external-card\":\"material-card\"}},[_c('b-collapse',{staticClass:\"card\",attrs:{\"slot\":\"external-header\",\"open\":false},slot:\"external-header\",scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('card',{attrs:{\"internal-card\":\"card-header\",\"style-internal-header\":\"display:flex; width:100%\",\"style-internal-card\":\"display:flex;flex-direction:row;justify-content:space-between\"}},[_c('p',{staticClass:\"card-header-title header-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(\" Boot order \")])]),_c('a',{staticClass:\"card-header-icon\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(props.open),expression:\"props.open\"}],attrs:{\"icon\":\"menu-up\"}}),_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.open),expression:\"!props.open\"}],attrs:{\"icon\":\"menu-down\"}})],1)])}}],null,false,1599612435)},[_c('card',{attrs:{\"internal-card\":\"material-card-content\"}},[_c('div',{staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('div',{staticClass:\"columns\"},_vm._l((_vm.bootOrder),function(boot){return _c('div',{key:boot.name,staticClass:\"column\"},[_c('p',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\" \"+_vm._s(boot.name)+\" \")]),_c('b-table',{attrs:{\"data\":boot.devices,\"mobile-cards\":false}},[_c('b-table-column',{attrs:{\"field\":\"item\",\"label\":\"Order\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.index + 1)+\" \")]}}],null,true)}),_c('b-table-column',{attrs:{\"field\":\"device\",\"label\":\"Device\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row)+\" \")]}}],null,true)}),_c('template',{slot:\"empty\"},[_c('section',{staticClass:\"section\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[_c('p',[_c('b-icon',{attrs:{\"icon\":\"file\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"All devices disabled\")])])])])],2)],1)}),0)])])],1)],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n name: 'ValidationsMixin',\n methods: {\n biosVendorIsSupported(vendor) {\n if (!vendor) return false;\n const supportedVendors = ['dell inc.', 'hewlett-packard', 'hp', 'hp-pavilion', 'lenovo'];\n return supportedVendors.includes(vendor.toLowerCase());\n },\n isLenovo(vendor) {\n if (!vendor) return false;\n const lenovoVendors = ['lenovo'];\n return lenovoVendors.includes(vendor.toLowerCase());\n },\n isHewlettPackard(vendor) {\n if (!vendor) return false;\n const lenovoVendors = ['hewlett-packard', 'hp', 'hp-pavilion'];\n return lenovoVendors.includes(vendor.toLowerCase());\n },\n isDell(vendor) {\n if (!vendor) return false;\n const lenovoVendors = ['dell inc.'];\n return lenovoVendors.includes(vendor.toLowerCase());\n },\n },\n};\n","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceBootOrder.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceBootOrder.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceBootOrder.vue?vue&type=template&id=67df7929&scoped=true&\"\nimport script from \"./DeviceBootOrder.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceBootOrder.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceBootOrder.vue?vue&type=style&index=0&id=67df7929&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"67df7929\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.storeStorageDisks.length > 0)?_c('div',{staticClass:\"mb-3\"},[_c('card',{attrs:{\"external-card\":\"material-card\"}},[_c('b-collapse',{attrs:{\"slot\":\"external-header\",\"open\":false},slot:\"external-header\",scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('card',{attrs:{\"internal-card\":\"card-header\",\"style-internal-header\":\"display:flex; width:100%\",\"style-internal-card\":\"display:flex;flex-direction:row;justify-content:space-between\"}},[_c('p',{staticClass:\"card-header-title header-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(\" Storage \")])]),_c('a',{staticClass:\"card-header-icon\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(props.open),expression:\"props.open\"}],attrs:{\"icon\":\"menu-up\"}}),_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.open),expression:\"!props.open\"}],attrs:{\"icon\":\"menu-down\"}})],1)])}}],null,false,2396366930)},[_c('card',{attrs:{\"internal-card\":\"material-card-content\"}},[_c('b-table',{staticClass:\"principal-table diskTable\",staticStyle:{\"margin-top\":\"1rem\",\"width\":\"100%\"},attrs:{\"slot\":\"header\",\"data\":_vm.storeStorageDisks,\"paginated\":_vm.storeStorageDisks.length > _vm.maxQuantity,\"per-page\":_vm.maxQuantity,\"mobile-cards\":true,\"striped\":true,\"default-sort\":\"name\",\"scrollable\":\"\",\"detailed\":\"\",\"has-detailed-visible\":(row) => _vm.storeDiskPartitions.filter\n (x => x.diskId === row.physicalId).length > 0},slot:\"header\",scopedSlots:_vm._u([{key:\"detail\",fn:function(props){return [_c('b-table',{staticClass:\"inner-table\",attrs:{\"data\":_vm.storeDiskPartitions.filter(x => x.diskId === props.row.physicalId),\"mobile-cards\":false,\"default-sort\":\"position\",\"scrollable\":\"\"}},[(_vm.device.OSVendor !== 'Apple')?_c('b-table-column',{attrs:{\"field\":\"position\",\"label\":\"Position\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(propsDetails){return [_vm._v(\" \"+_vm._s(`${propsDetails.row.position || 'Unknown'} `)+\" \")]}}],null,true)}):_vm._e(),_c('b-table-column',{attrs:{\"field\":\"letter\",\"label\":\"Volume\"},scopedSlots:_vm._u([{key:\"default\",fn:function(propsDetails){return [_vm._v(\" \"+_vm._s(`${propsDetails.row.letter || propsDetails.row.tag}`)+\" \")]}}],null,true)}),_c('b-table-column',{attrs:{\"field\":\"capacity\",\"label\":\"Size\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(propsDetails){return [_vm._v(\" \"+_vm._s(_vm._f(\"bytesSize\")(propsDetails.row.capacity,_vm.toBytesMetrics()))+\" \")]}}],null,true)}),_c('b-table-column',{attrs:{\"visible\":_vm.storeDiskPartitions.some((x) => x.used !== null),\"field\":\"usedPercentPartition\",\"label\":\"Available\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(propsDetails){return [(propsDetails.row.capacity > 0)?_c('div',{staticClass:\"progressBarDiv\"},[_c('b-progress',{attrs:{\"type\":_vm.changeProgressBarColorPartition(\n propsDetails.row.capacity, propsDetails.row.used),\"value\":_vm.getAvailableSpacePercentByPartition(\n true, propsDetails.row.capacity, propsDetails.row.used),\"show-value\":\"\",\"format\":\"percent\"}},[_c('span',{staticStyle:{\"color\":\"#363636\"}},[_vm._v(\" \"+_vm._s(_vm.getAvailableSpacePercentByPartition( false, propsDetails.row.capacity, propsDetails.row.used))+\"% (\"+_vm._s(_vm._f(\"bytesSize\")((propsDetails.row.capacity - propsDetails.row.used),_vm.toBytesMetrics()))+\") \")])])],1):_vm._e()]}}],null,true)}),(_vm.storeDiskPartitions.some((x) => x.isSystemPartition))?_c('b-table-column',{attrs:{\"field\":\"isSystemPartition\",\"label\":\"System Partition\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(propsDetails){return [(propsDetails.row.isSystemPartition)?_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"capitalize\")(propsDetails.row.isSystemPartition.toString()))+\" \")]):_vm._e()]}}],null,true)}):_vm._e(),(props.row.partitionType === 'MBR')?_c('b-table-column',{attrs:{\"field\":\"isActive\",\"label\":\"Is Active\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(propsDetails){return [_vm._v(\" \"+_vm._s(_vm._f(\"capitalize\")(propsDetails.row.isActive.toString()))+\" \")]}}],null,true)}):_vm._e()],1)]}}],null,false,2826692219)},[_c('b-table-column',{attrs:{\"field\":\"name\",\"label\":\"Disk\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.name)+\" \")]}}],null,false,2982927002)}),_c('b-table-column',{attrs:{\"field\":\"size\",\"label\":\"Size\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_vm._f(\"bytesSize\")(props.row.size,_vm.toBytesMetrics()))+\" \")]}}],null,false,3509737893)}),_c('b-table-column',{attrs:{\"visible\":_vm.storeDiskPartitions.some((x) => x.used !== null),\"field\":\"usedPercentDisk\",\"label\":\"Available\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('div',{staticClass:\"progressBarDiv\"},[_c('b-progress',{staticStyle:{\"width\":\"150px\"},attrs:{\"type\":_vm.changeProgressBarColorDisk(props.row),\"value\":_vm.getAvailableSpacePercentByDisk(true, props.row),\"show-value\":\"\",\"format\":\"percent\"}},[_c('span',{staticStyle:{\"color\":\"#363636\"}},[_vm._v(\" \"+_vm._s(_vm.getAvailableSpacePercentByDisk(false, props.row))+\"% (\"+_vm._s(_vm._f(\"bytesSize\")(_vm.getAvailableSpaceByDisk( props.row),_vm.toBytesMetrics()))+\") \")])])],1)]}}],null,false,3329943276)}),_c('b-table-column',{attrs:{\"field\":\"health\",\"label\":\"Health\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('status-indicator',{attrs:{\"status\":_vm.changeColorHealth(props.row.health)}}),_vm._v(\" \"+_vm._s(_vm.getValueFromEnum(props.row.health).name)+\" \")]}}],null,false,738055038)}),_c('b-table-column',{attrs:{\"field\":\"mediaType\",\"label\":\"Media Type\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.mediaType)+\" \")]}}],null,false,4067215649)}),_c('b-table-column',{attrs:{\"field\":\"partitionType\",\"label\":\"Partition table\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [(props.row.partitionType)?[_vm._v(\" \"+_vm._s(props.row.partitionType.toUpperCase())+\" \")]:_vm._e()]}}],null,false,268347234)}),_c('b-table-column',{attrs:{\"field\":\"serialNum\",\"label\":\"Serial\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.serialNum)+\" \")]}}],null,false,3590667723)}),_c('b-table-column',{attrs:{\"field\":\"manufacturer\",\"label\":\"Manufacturer\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.manufacturer)+\" \")]}}],null,false,3179217258)})],1)],1)],1)],1)],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n\n \n \n \n\n \n \n \n\n \n x.diskId === props.row.physicalId)\"\n :mobile-cards=\"false\"\n default-sort=\"position\"\n scrollable\n class=\"inner-table\"\n >\n \n \n \n\n \n \n \n\n \n \n \n\n x.used !== null)\"\n field=\"usedPercentPartition\"\n label=\"Available\"\n sortable\n >\n \n \n\n x.isSystemPartition)\"\n field=\"isSystemPartition\"\n label=\"System Partition\"\n sortable\n >\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DevicesDiskPartitions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DevicesDiskPartitions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DevicesDiskPartitions.vue?vue&type=template&id=31936349&scoped=true&\"\nimport script from \"./DevicesDiskPartitions.vue?vue&type=script&lang=js&\"\nexport * from \"./DevicesDiskPartitions.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DevicesDiskPartitions.vue?vue&type=style&index=0&id=31936349&prod&scoped=true&lang=css&\"\nimport style1 from \"./DevicesDiskPartitions.vue?vue&type=style&index=1&id=31936349&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"31936349\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('portal',{attrs:{\"to\":\"rd-options\"}},[_c('b-dropdown',{staticStyle:{\"margin-right\":\"10px\"},attrs:{\"aria-role\":\"list\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function({ active }){return [_c('b-button',{attrs:{\"label\":_vm.remoteDesktopType.shortName,\"type\":\"is-primary is-light\",\"icon-left\":_vm.remoteDesktopType.icon,\"icon-right\":active ? 'menu-up' : 'menu-down'}})]}}]),model:{value:(_vm.remoteDesktopType),callback:function ($$v) {_vm.remoteDesktopType=$$v},expression:\"remoteDesktopType\"}},_vm._l((_vm.desktopOptions),function(item){return _c('b-dropdown-item',{key:item.value,staticStyle:{\"text-align\":\"left\"},attrs:{\"value\":item,\"disabled\":item.disabled,\"aria-role\":\"listitem\"}},[_c('b-icon',{staticStyle:{\"vertical-align\":\"middle\"},attrs:{\"icon\":item.icon}}),_c('span',{staticStyle:{\"vertical-align\":\"middle\"}},[_vm._v(\" Connect to \"+_vm._s(item.name)+\" \")])],1)}),1)],1),(_vm.remoteDesktopType.value === 0)?_c('device-WRTC',{key:`wrtc-${_vm.device.id}`,ref:\"deviceWRTC\",attrs:{\"device\":_vm.device}}):(_vm.remoteDesktopType.value === 1)?_c('device-KVM',{key:`kvm-${_vm.device.id}`,ref:\"deviceKVM\",attrs:{\"amt-info\":_vm.amtInfo,\"device-id\":_vm.device.id}}):_c('not-authorized-for-AMT-actions',{attrs:{\"current-company\":_vm.currentCompany}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('fullscreen',{model:{value:(_vm.fullscreen),callback:function ($$v) {_vm.fullscreen=$$v},expression:\"fullscreen\"}},[_c('card',{attrs:{\"external-card\":\"card material-card\"}},[_c('card',{attrs:{\"slot\":\"external-header\",\"internal-card\":\"card-header wrap-content\",\"style-internal-header\":\"display: flex; flex: auto\"},slot:\"external-header\"},[_c('div',{staticClass:\"card-header-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('portal-target',{attrs:{\"name\":\"rd-options\"}}),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.desktopState.connected),expression:\"!desktopState.connected\"}],staticClass:\"button button-margin is-primary\",attrs:{\"disabled\":_vm.desktopState.connecting || !_vm.amtInfo || !_vm.amtInfo.redirectionPortEnabled\n || _vm.amtInfo.amtStatus !== _vm.amtStatus.ONLINE.value.dbValue || _vm.waitingForRestart},on:{\"click\":function($event){return _vm.connectDesktop(_vm.amtInfo.amtId)}}},[_c('strong',[_vm._v(_vm._s(_vm.waitingForRestart ? \"Restarting\" : _vm.desktopState.buttonText))])]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.desktopState.connected),expression:\"desktopState.connected\"}],staticClass:\"button button-margin is-danger\",on:{\"click\":_vm.disconnectDesktop}},[_c('strong',[_vm._v(_vm._s(_vm.desktopState.buttonText))])])],1),(_vm.amtInfo && _vm.amtInfo.redirectionPortEnabled)?_c('div',{staticClass:\"padding-button\",staticStyle:{\"display\":\"flex\"},attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('button',{staticClass:\"button\",attrs:{\"disabled\":!_vm.amtInfo || !_vm.amtInfo.redirectionPortEnabled\n || _vm.amtInfo.amtStatus !== _vm.amtStatus.ONLINE.value.dbValue},on:{\"click\":_vm.toggleFullscreen}},[(_vm.fullscreen)?_c('b-icon',{key:\"compress\",attrs:{\"icon\":\"fullscreen-exit\"}}):_c('b-icon',{key:\"expand\",attrs:{\"icon\":\"fullscreen\"}})],1),_c('learn-more',{attrs:{\"url\":\"\"}})],1):_vm._e()]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.desktopState.connected),expression:\"desktopState.connected\"}],staticClass:\"columns buttons-container\",attrs:{\"slot\":\"external-body\"},slot:\"external-body\"},[_c('div',{staticClass:\"column is-3-desktop is-3-tablet is-full-mobile button-row\"},[_c('b-dropdown',[_c('button',{staticClass:\"button\",attrs:{\"slot\":\"trigger\"},slot:\"trigger\"},[_c('span',[_vm._v(\"Power Action\")]),_c('b-icon',{attrs:{\"icon\":\"menu-down\"}})],1),_vm._l((_vm.kvmActions),function(action){return _c('b-dropdown-item',{key:action.value.id,staticClass:\"dropdown-item-router\",attrs:{\"disabled\":_vm.executingAction},on:{\"click\":function($event){return _vm.executeAction(action.value)}}},[_c('div',{staticClass:\"navbar-item alignIconWithText\"},[_c('b-icon',{staticStyle:{\"margin-right\":\"10px\"},attrs:{\"icon\":action.value.icon}}),_c('span',[_vm._v(_vm._s(action.value.name))])],1)])})],2)],1),_c('div',{staticClass:\"column is-5-desktop is-5-tablet is-full-mobile button-row center-buttons\"},[_c('button',{staticClass:\"button button-margin\",on:{\"click\":_vm.sendcad}},[_c('b-icon',{attrs:{\"icon\":\"keyboard\"}}),_c('span',[_vm._v(\"Send Ctrl+Alt+Del\")])],1),_c('button',{staticClass:\"button\",on:{\"click\":_vm.sendWinKey}},[_c('b-icon',{attrs:{\"icon\":\"keyboard\"}}),_c('span',[_vm._v(\"Send Windows+R\")])],1)]),_c('div',{staticClass:\"column is-4-desktop is-4-tablet is-full-mobile button-row right-buttons\"},[_c('button',{staticClass:\"button button-margin\",on:{\"click\":function($event){return _vm.rotate(-1)}}},[_c('b-icon',{attrs:{\"icon\":\"undo\"}}),_c('span',[_vm._v(\"Rotate Left\")])],1),_c('button',{staticClass:\"button\",on:{\"click\":function($event){return _vm.rotate(1)}}},[_c('b-icon',{attrs:{\"icon\":\"redo\"}}),_c('span',[_vm._v(\"Rotate Right\")])],1)])]),_c('div',{staticClass:\"material-card-content remote-container has-margin-top\",staticStyle:{\"position\":\"relative\"},attrs:{\"slot\":\"external-footer\"},slot:\"external-footer\"},[_c('b-loading',{attrs:{\"is-full-page\":false,\"active\":_vm.desktopState.connecting || _vm.waitingForRestart,\"can-cancel\":false}}),_c('canvas',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.amtInfo && _vm.amtInfo.redirectionPortEnabled),expression:\"amtInfo && amtInfo.redirectionPortEnabled\"}],staticStyle:{\"width\":\"100%\",\"max-height\":\"100%\",\"background\":\"#f5efef\"},attrs:{\"id\":\"desktop-canvas\",\"moz-opaque\":\"\"},on:{\"contextmenu\":function($event){$event.preventDefault();}}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!(_vm.amtInfo && _vm.amtInfo.redirectionPortEnabled)),expression:\"!(amtInfo && amtInfo.redirectionPortEnabled)\"}],staticStyle:{\"padding\":\"60px 0px\"}},[_c('p',{staticStyle:{\"font-size\":\"20px\",\"margin\":\"12px\"}},[_vm._v(\" KVM Redirection is disabled, enable it to connect \")]),_c('button',{class:{ 'button': true, 'is-primary': true, 'is-loading': _vm.executingAction },on:{\"click\":function($event){return _vm.executeAction(_vm.enableKVMAction.value)}}},[_c('b-icon',{attrs:{\"icon\":_vm.enableKVMAction.value.icon}}),_c('span',[_vm._v(_vm._s(_vm.enableKVMAction.value.name))])],1)])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable */\n\n/**\n* @fileoverview Intel(r) AMT Communication StackXX\n* @author Ylian Saint-Hilaire\n* @version v0.2.0b\n*/\n\n/**\n * Construct a AmtStackCreateService object, this ia the main Intel AMT communication stack.\n * @constructor\n */\nfunction AmtStackCreateService(wsmanStack) {\n var obj = new Object();\n obj.wsman = wsmanStack;\n obj.pfx = [\"http://intel.com/wbem/wscim/1/amt-schema/1/\", \"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/\", \"http://intel.com/wbem/wscim/1/ips-schema/1/\"];\n obj.PendingEnums = [];\n obj.PendingBatchOperations = 0;\n obj.ActiveEnumsCount = 0;\n obj.MaxActiveEnumsCount = 1; // Maximum number of enumerations that can be done at the same time.\n obj.onProcessChanged = null;\n var _MaxProcess = 0;\n var _LastProcess = 0;\n\n // Return the number of pending actions\n obj.GetPendingActions = function () { return (obj.PendingEnums.length * 2) + (obj.ActiveEnumsCount) + obj.wsman.comm.PendingAjax.length + obj.wsman.comm.ActiveAjaxCount + obj.PendingBatchOperations; }\n\n // Private Method, Update the current processing status, this gives the application an idea of what progress is being done by the WSMAN stack\n function _up() {\n var x = obj.GetPendingActions();\n if (_MaxProcess < x) _MaxProcess = x;\n if (obj.onProcessChanged != null && _LastProcess != x) {\n //console.log(\"Process Old=\" + _LastProcess + \", New=\" + x + \", PEnums=\" + obj.PendingEnums.length + \", AEnums=\" + obj.ActiveEnumsCount + \", PAjax=\" + obj.wsman.comm.PendingAjax.length + \", AAjax=\" + obj.wsman.comm.ActiveAjaxCount + \", PBatch=\" + obj.PendingBatchOperations);\n _LastProcess = x;\n obj.onProcessChanged(x, _MaxProcess);\n }\n if (x == 0) _MaxProcess = 0;\n }\n\n // Perform a WSMAN \"SUBSCRIBE\" operation.\n obj.Subscribe = function (name, delivery, url, callback, tag, pri, selectors, opaque, user, pass) { obj.wsman.ExecSubscribe(obj.CompleteName(name), delivery, url, function (ws, resuri, response, xstatus) { _up(); callback(obj, name, response, xstatus, tag); }, 0, pri, selectors, opaque, user, pass); _up(); }\n\n // Perform a WSMAN \"UNSUBSCRIBE\" operation.\n obj.UnSubscribe = function (name, callback, tag, pri, selectors) { obj.wsman.ExecUnSubscribe(obj.CompleteName(name), function (ws, resuri, response, xstatus) { _up(); callback(obj, name, response, xstatus, tag); }, 0, pri, selectors); _up(); }\n\n // Perform a WSMAN \"GET\" operation.\n obj.Get = function (name, callback, tag, pri) { obj.wsman.ExecGet(obj.CompleteName(name), function (ws, resuri, response, xstatus) { _up(); callback(obj, name, response, xstatus, tag); }, 0, pri); _up(); }\n\n // Perform a WSMAN \"PUT\" operation.\n obj.Put = function (name, putobj, callback, tag, pri, selectors) { obj.wsman.ExecPut(obj.CompleteName(name), putobj, function (ws, resuri, response, xstatus) { _up(); callback(obj, name, response, xstatus, tag); }, 0, pri, selectors); _up(); }\n\n // Perform a WSMAN \"CREATE\" operation.\n obj.Create = function (name, putobj, callback, tag, pri) { obj.wsman.ExecCreate(obj.CompleteName(name), putobj, function (ws, resuri, response, xstatus) { _up(); callback(obj, name, response, xstatus, tag); }, 0, pri); _up(); }\n\n // Perform a WSMAN \"DELETE\" operation.\n obj.Delete = function (name, putobj, callback, tag, pri) { obj.wsman.ExecDelete(obj.CompleteName(name), putobj, function (ws, resuri, response, xstatus) { _up(); callback(obj, name, response, xstatus, tag); }, 0, pri); _up(); }\n\n // Perform a WSMAN method call operation.\n obj.Exec = function (name, method, args, callback, tag, pri, selectors) { obj.wsman.ExecMethod(obj.CompleteName(name), method, args, function (ws, resuri, response, xstatus) { _up(); callback(obj, name, obj.CompleteExecResponse(response), xstatus, tag); }, 0, pri, selectors); _up(); }\n\n // Perform a WSMAN method call operation.\n obj.ExecWithXml = function (name, method, args, callback, tag, pri, selectors) { obj.wsman.ExecMethodXml(obj.CompleteName(name), method, execArgumentsToXml(args), function (ws, resuri, response, xstatus) { _up(); callback(obj, name, obj.CompleteExecResponse(response), xstatus, tag); }, 0, pri, selectors); _up(); }\n\n // Perform a WSMAN \"ENUMERATE\" operation.\n obj.Enum = function (name, callback, tag, pri) {\n if (obj.ActiveEnumsCount < obj.MaxActiveEnumsCount) {\n obj.ActiveEnumsCount++; obj.wsman.ExecEnum(obj.CompleteName(name), function (ws, resuri, response, xstatus, tag0) { _up(); _EnumStartSink(name, response, callback, resuri, xstatus, tag0); }, tag, pri);\n } else {\n obj.PendingEnums.push([name, callback, tag, pri]);\n }\n _up();\n }\n\n // Private method\n function _EnumStartSink(name, response, callback, resuri, status, tag, pri) {\n if (status != 200) { callback(obj, name, null, status, tag); _EnumDoNext(1); return; }\n if (response == null || response.Header[\"Method\"] != \"EnumerateResponse\" || !response.Body[\"EnumerationContext\"]) { callback(obj, name, null, 603, tag); _EnumDoNext(1); return; }\n var enumctx = response.Body[\"EnumerationContext\"];\n obj.wsman.ExecPull(resuri, enumctx, function (ws, resuri, response, xstatus) { _EnumContinueSink(name, response, callback, resuri, [], xstatus, tag, pri); });\n }\n\n // Private method\n function _EnumContinueSink(name, response, callback, resuri, items, status, tag, pri) {\n if (status != 200) { callback(obj, name, null, status, tag); _EnumDoNext(1); return; }\n if (response == null || response.Header[\"Method\"] != \"PullResponse\") { callback(obj, name, null, 604, tag); _EnumDoNext(1); return; }\n for (var i in response.Body[\"Items\"]) {\n if (response.Body[\"Items\"][i] instanceof Array) {\n for (var j in response.Body[\"Items\"][i]) { items.push(response.Body[\"Items\"][i][j]); }\n } else {\n items.push(response.Body[\"Items\"][i]);\n }\n }\n if (response.Body[\"EnumerationContext\"]) {\n var enumctx = response.Body[\"EnumerationContext\"];\n obj.wsman.ExecPull(resuri, enumctx, function (ws, resuri, response, xstatus) { _EnumContinueSink(name, response, callback, resuri, items, xstatus, tag, 1); });\n } else {\n _EnumDoNext(1);\n callback(obj, name, items, status, tag);\n _up();\n }\n }\n\n // Private method\n function _EnumDoNext(dec) {\n obj.ActiveEnumsCount -= dec;\n if (obj.ActiveEnumsCount >= obj.MaxActiveEnumsCount || obj.PendingEnums.length == 0) return;\n var x = obj.PendingEnums.shift();\n obj.Enum(x[0], x[1], x[2]);\n _EnumDoNext(0);\n }\n\n // Perform a batch of WSMAN \"ENUM\" operations.\n obj.BatchEnum = function (batchname, names, callback, tag, continueOnError, pri) {\n obj.PendingBatchOperations += (names.length * 2);\n _BatchNextEnum(batchname, Clone(names), callback, tag, {}, continueOnError, pri); _up();\n }\n\n // Request each enum in the batch, stopping if something does not return status 200\n function _BatchNextEnum(batchname, names, callback, tag, results, continueOnError, pri) {\n obj.PendingBatchOperations -= 2;\n var n = names.shift(), f = obj.Enum;\n if (n[0] == '*') { f = obj.Get; n = n.substring(1); } // If the name starts with a star, do a GET instead of an ENUM. This will reduce round trips.\n //console.log((f == obj.Get?'Get ':'Enum ') + n);\n // Perform a GET/ENUM action\n f(n, function (stack, name, responses, status, tag0) {\n tag0[2][name] = { response: (responses==null?null:responses.Body), responses: responses, status: status };\n if (tag0[1].length == 0 || status == 401 || (continueOnError != true && status != 200 && status != 400)) { obj.PendingBatchOperations -= (names.length * 2); _up(); callback(obj, batchname, tag0[2], status, tag); }\n else { _up(); _BatchNextEnum(batchname, names, callback, tag, tag0[2], pri); }\n }, [batchname, names, results], pri);\n _up();\n }\n\n // Perform a batch of WSMAN \"GET\" operations.\n obj.BatchGet = function (batchname, names, callback, tag, pri) {\n _FetchNext({ name: batchname, names: names, callback: callback, current: 0, responses: {}, tag: tag, pri: pri }); _up();\n }\n\n // Private method\n function _FetchNext(batch) {\n if (batch.names.length <= batch.current) {\n batch.callback(obj, batch.name, batch.responses, 200, batch.tag);\n } else {\n obj.wsman.ExecGet(obj.CompleteName(batch.names[batch.current]), function (ws, resuri, response, xstatus) { _Fetched(batch, response, xstatus); }, batch.pri);\n batch.current++;\n }\n _up();\n }\n\n // Private method\n function _Fetched(batch, response, status) {\n if (response == null || status != 200) {\n batch.callback(obj, batch.name, null, status, batch.tag);\n } else {\n batch.responses[response.Header[\"Method\"]] = response;\n _FetchNext(batch);\n }\n }\n\n // Private method\n obj.CompleteName = function(name) {\n if (name.indexOf(\"AMT_\") == 0) return obj.pfx[0] + name;\n if (name.indexOf(\"CIM_\") == 0) return obj.pfx[1] + name;\n if (name.indexOf(\"IPS_\") == 0) return obj.pfx[2] + name;\n }\n\n obj.CompleteExecResponse = function (resp) {\n if (resp && resp != null && resp.Body && resp.Body[\"ReturnValue\"]) resp.Body.ReturnValueStr = obj.AmtStatusToStr(resp.Body[\"ReturnValue\"]);\n return resp;\n }\n\n obj.RequestPowerStateChange = function (PowerState, callback_func) {\n obj.CIM_PowerManagementService_RequestPowerStateChange(PowerState, \"
http://schemas.xmlsoap.org/ws/2004/08/addressing
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ComputerSystemCIM_ComputerSystemManagedSystem\", null, null, callback_func);\n }\n\n obj.SetBootConfigRole = function (Role, callback_func) {\n obj.CIM_BootService_SetBootConfigRole(\"
http://schemas.xmlsoap.org/ws/2004/08/addressing
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_BootConfigSettingIntel(r) AMT: Boot Configuration 0\", Role, callback_func);\n }\n\n // Cancel all pending queries with given status\n obj.CancelAllQueries = function (s) {\n obj.wsman.CancelAllQueries(s);\n }\n\n // Auto generated methods\n obj.AMT_AgentPresenceWatchdog_RegisterAgent = function (callback_func) { obj.Exec(\"AMT_AgentPresenceWatchdog\", \"RegisterAgent\", {}, callback_func); }\n obj.AMT_AgentPresenceWatchdog_AssertPresence = function (SequenceNumber, callback_func) { obj.Exec(\"AMT_AgentPresenceWatchdog\", \"AssertPresence\", { \"SequenceNumber\": SequenceNumber }, callback_func); }\n obj.AMT_AgentPresenceWatchdog_AssertShutdown = function (SequenceNumber, callback_func) { obj.Exec(\"AMT_AgentPresenceWatchdog\", \"AssertShutdown\", { \"SequenceNumber\": SequenceNumber }, callback_func); }\n obj.AMT_AgentPresenceWatchdog_AddAction = function (OldState, NewState, EventOnTransition, ActionSd, ActionEac, callback_func, tag, pri, selectors) { obj.Exec(\"AMT_AgentPresenceWatchdog\", \"AddAction\", { \"OldState\": OldState, \"NewState\": NewState, \"EventOnTransition\": EventOnTransition, \"ActionSd\": ActionSd, \"ActionEac\": ActionEac }, callback_func, tag, pri, selectors); }\n obj.AMT_AgentPresenceWatchdog_DeleteAllActions = function (callback_func, tag, pri, selectors) { obj.Exec(\"AMT_AgentPresenceWatchdog\", \"DeleteAllActions\", {}, callback_func, tag, pri, selectors); }\n obj.AMT_AgentPresenceWatchdogAction_GetActionEac = function (callback_func) { obj.Exec(\"AMT_AgentPresenceWatchdogAction\", \"GetActionEac\", {}, callback_func); }\n obj.AMT_AgentPresenceWatchdogVA_RegisterAgent = function (callback_func) { obj.Exec(\"AMT_AgentPresenceWatchdogVA\", \"RegisterAgent\", {}, callback_func); }\n obj.AMT_AgentPresenceWatchdogVA_AssertPresence = function (SequenceNumber, callback_func) { obj.Exec(\"AMT_AgentPresenceWatchdogVA\", \"AssertPresence\", { \"SequenceNumber\": SequenceNumber }, callback_func); }\n obj.AMT_AgentPresenceWatchdogVA_AssertShutdown = function (SequenceNumber, callback_func) { obj.Exec(\"AMT_AgentPresenceWatchdogVA\", \"AssertShutdown\", { \"SequenceNumber\": SequenceNumber }, callback_func); }\n obj.AMT_AgentPresenceWatchdogVA_AddAction = function (OldState, NewState, EventOnTransition, ActionSd, ActionEac, callback_func) { obj.Exec(\"AMT_AgentPresenceWatchdogVA\", \"AddAction\", { \"OldState\": OldState, \"NewState\": NewState, \"EventOnTransition\": EventOnTransition, \"ActionSd\": ActionSd, \"ActionEac\": ActionEac }, callback_func); }\n obj.AMT_AgentPresenceWatchdogVA_DeleteAllActions = function (_method_dummy, callback_func) { obj.Exec(\"AMT_AgentPresenceWatchdogVA\", \"DeleteAllActions\", { \"_method_dummy\": _method_dummy }, callback_func); }\n obj.AMT_AuditLog_ClearLog = function (callback_func) { obj.Exec(\"AMT_AuditLog\", \"ClearLog\", {}, callback_func); }\n obj.AMT_AuditLog_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"AMT_AuditLog\", \"RequestStateChange\", { \"RequestedState\": RequestedState, \"TimeoutPeriod\": TimeoutPeriod }, callback_func); }\n obj.AMT_AuditLog_ReadRecords = function (StartIndex, callback_func, tag) { obj.Exec(\"AMT_AuditLog\", \"ReadRecords\", { \"StartIndex\": StartIndex }, callback_func, tag); }\n obj.AMT_AuditLog_SetAuditLock = function (LockTimeoutInSeconds, Flag, Handle, callback_func) { obj.Exec(\"AMT_AuditLog\", \"SetAuditLock\", { \"LockTimeoutInSeconds\": LockTimeoutInSeconds, \"Flag\": Flag, \"Handle\": Handle }, callback_func); }\n obj.AMT_AuditLog_ExportAuditLogSignature = function (SigningMechanism, callback_func) { obj.Exec(\"AMT_AuditLog\", \"ExportAuditLogSignature\", { \"SigningMechanism\": SigningMechanism }, callback_func); }\n obj.AMT_AuditLog_SetSigningKeyMaterial = function (SigningMechanismType, SigningKey, LengthOfCertificates, Certificates, callback_func) { obj.Exec(\"AMT_AuditLog\", \"SetSigningKeyMaterial\", { \"SigningMechanismType\": SigningMechanismType, \"SigningKey\": SigningKey, \"LengthOfCertificates\": LengthOfCertificates, \"Certificates\": Certificates }, callback_func); }\n obj.AMT_AuditPolicyRule_SetAuditPolicy = function (Enable, AuditedAppID, EventID, PolicyType, callback_func) { obj.Exec(\"AMT_AuditPolicyRule\", \"SetAuditPolicy\", { \"Enable\": Enable, \"AuditedAppID\": AuditedAppID, \"EventID\": EventID, \"PolicyType\": PolicyType }, callback_func); }\n obj.AMT_AuditPolicyRule_SetAuditPolicyBulk = function (Enable, AuditedAppID, EventID, PolicyType, callback_func) { obj.Exec(\"AMT_AuditPolicyRule\", \"SetAuditPolicyBulk\", { \"Enable\": Enable, \"AuditedAppID\": AuditedAppID, \"EventID\": EventID, \"PolicyType\": PolicyType }, callback_func); }\n obj.AMT_AuthorizationService_AddUserAclEntryEx = function (DigestUsername, DigestPassword, KerberosUserSid, AccessPermission, Realms, callback_func) { obj.Exec(\"AMT_AuthorizationService\", \"AddUserAclEntryEx\", { \"DigestUsername\": DigestUsername, \"DigestPassword\": DigestPassword, \"KerberosUserSid\": KerberosUserSid, \"AccessPermission\": AccessPermission, \"Realms\": Realms }, callback_func); }\n obj.AMT_AuthorizationService_EnumerateUserAclEntries = function (StartIndex, callback_func) { obj.Exec(\"AMT_AuthorizationService\", \"EnumerateUserAclEntries\", { \"StartIndex\": StartIndex }, callback_func); }\n obj.AMT_AuthorizationService_GetUserAclEntryEx = function (Handle, callback_func, tag) { obj.Exec(\"AMT_AuthorizationService\", \"GetUserAclEntryEx\", { \"Handle\": Handle }, callback_func, tag); }\n obj.AMT_AuthorizationService_UpdateUserAclEntryEx = function (Handle, DigestUsername, DigestPassword, KerberosUserSid, AccessPermission, Realms, callback_func) { obj.Exec(\"AMT_AuthorizationService\", \"UpdateUserAclEntryEx\", { \"Handle\": Handle, \"DigestUsername\": DigestUsername, \"DigestPassword\": DigestPassword, \"KerberosUserSid\": KerberosUserSid, \"AccessPermission\": AccessPermission, \"Realms\": Realms }, callback_func); }\n obj.AMT_AuthorizationService_RemoveUserAclEntry = function (Handle, callback_func) { obj.Exec(\"AMT_AuthorizationService\", \"RemoveUserAclEntry\", { \"Handle\": Handle }, callback_func); }\n obj.AMT_AuthorizationService_SetAdminAclEntryEx = function (Username, DigestPassword, callback_func) { obj.Exec(\"AMT_AuthorizationService\", \"SetAdminAclEntryEx\", { \"Username\": Username, \"DigestPassword\": DigestPassword }, callback_func); }\n obj.AMT_AuthorizationService_GetAdminAclEntry = function (callback_func) { obj.Exec(\"AMT_AuthorizationService\", \"GetAdminAclEntry\", {}, callback_func); }\n obj.AMT_AuthorizationService_GetAdminAclEntryStatus = function (callback_func) { obj.Exec(\"AMT_AuthorizationService\", \"GetAdminAclEntryStatus\", {}, callback_func); }\n obj.AMT_AuthorizationService_GetAdminNetAclEntryStatus = function (callback_func) { obj.Exec(\"AMT_AuthorizationService\", \"GetAdminNetAclEntryStatus\", {}, callback_func); }\n obj.AMT_AuthorizationService_SetAclEnabledState = function (Handle, Enabled, callback_func, tag) { obj.Exec(\"AMT_AuthorizationService\", \"SetAclEnabledState\", { \"Handle\": Handle, \"Enabled\": Enabled }, callback_func, tag); }\n obj.AMT_AuthorizationService_GetAclEnabledState = function (Handle, callback_func, tag) { obj.Exec(\"AMT_AuthorizationService\", \"GetAclEnabledState\", { \"Handle\": Handle }, callback_func, tag); }\n obj.AMT_EndpointAccessControlService_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"AMT_EndpointAccessControlService\", \"RequestStateChange\", { \"RequestedState\": RequestedState, \"TimeoutPeriod\": TimeoutPeriod }, callback_func); }\n obj.AMT_EndpointAccessControlService_GetPosture = function (PostureType, callback_func) { obj.Exec(\"AMT_EndpointAccessControlService\", \"GetPosture\", { \"PostureType\": PostureType }, callback_func); }\n obj.AMT_EndpointAccessControlService_GetPostureHash = function (PostureType, callback_func) { obj.Exec(\"AMT_EndpointAccessControlService\", \"GetPostureHash\", { \"PostureType\": PostureType }, callback_func); }\n obj.AMT_EndpointAccessControlService_UpdatePostureState = function (UpdateType, callback_func) { obj.Exec(\"AMT_EndpointAccessControlService\", \"UpdatePostureState\", { \"UpdateType\": UpdateType }, callback_func); }\n obj.AMT_EndpointAccessControlService_GetEacOptions = function (callback_func) { obj.Exec(\"AMT_EndpointAccessControlService\", \"GetEacOptions\", {}, callback_func); }\n obj.AMT_EndpointAccessControlService_SetEacOptions = function (EacVendors, PostureHashAlgorithm, callback_func) { obj.Exec(\"AMT_EndpointAccessControlService\", \"SetEacOptions\", { \"EacVendors\": EacVendors, \"PostureHashAlgorithm\": PostureHashAlgorithm }, callback_func); }\n obj.AMT_EnvironmentDetectionSettingData_SetSystemDefensePolicy = function (Policy, callback_func) { obj.Exec(\"AMT_EnvironmentDetectionSettingData\", \"SetSystemDefensePolicy\", { \"Policy\": Policy }, callback_func); }\n obj.AMT_EnvironmentDetectionSettingData_EnableVpnRouting = function (Enable, callback_func) { obj.Exec(\"AMT_EnvironmentDetectionSettingData\", \"EnableVpnRouting\", { \"Enable\": Enable }, callback_func); }\n obj.AMT_EthernetPortSettings_SetLinkPreference = function (LinkPreference, Timeout, callback_func) { obj.Exec(\"AMT_EthernetPortSettings\", \"SetLinkPreference\", { \"LinkPreference\": LinkPreference, \"Timeout\": Timeout }, callback_func); }\n obj.AMT_HeuristicPacketFilterStatistics_ResetSelectedStats = function (SelectedStatistics, callback_func) { obj.Exec(\"AMT_HeuristicPacketFilterStatistics\", \"ResetSelectedStats\", { \"SelectedStatistics\": SelectedStatistics }, callback_func); }\n obj.AMT_KerberosSettingData_GetCredentialCacheState = function (callback_func) { obj.Exec(\"AMT_KerberosSettingData\", \"GetCredentialCacheState\", {}, callback_func); }\n obj.AMT_KerberosSettingData_SetCredentialCacheState = function (Enable, callback_func) { obj.Exec(\"AMT_KerberosSettingData\", \"SetCredentialCacheState\", { \"Enable\": Enable }, callback_func); }\n obj.AMT_MessageLog_CancelIteration = function (IterationIdentifier, callback_func) { obj.Exec(\"AMT_MessageLog\", \"CancelIteration\", { \"IterationIdentifier\": IterationIdentifier }, callback_func); }\n obj.AMT_MessageLog_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"AMT_MessageLog\", \"RequestStateChange\", { \"RequestedState\": RequestedState, \"TimeoutPeriod\": TimeoutPeriod }, callback_func); }\n obj.AMT_MessageLog_ClearLog = function (callback_func) { obj.Exec(\"AMT_MessageLog\", \"ClearLog\", { }, callback_func); }\n obj.AMT_MessageLog_GetRecords = function (IterationIdentifier, MaxReadRecords, callback_func, tag) { obj.Exec(\"AMT_MessageLog\", \"GetRecords\", { \"IterationIdentifier\": IterationIdentifier, \"MaxReadRecords\": MaxReadRecords }, callback_func, tag); }\n obj.AMT_MessageLog_GetRecord = function (IterationIdentifier, PositionToNext, callback_func) { obj.Exec(\"AMT_MessageLog\", \"GetRecord\", { \"IterationIdentifier\": IterationIdentifier, \"PositionToNext\": PositionToNext }, callback_func); }\n obj.AMT_MessageLog_PositionAtRecord = function (IterationIdentifier, MoveAbsolute, RecordNumber, callback_func) { obj.Exec(\"AMT_MessageLog\", \"PositionAtRecord\", { \"IterationIdentifier\": IterationIdentifier, \"MoveAbsolute\": MoveAbsolute, \"RecordNumber\": RecordNumber }, callback_func); }\n obj.AMT_MessageLog_PositionToFirstRecord = function (callback_func, tag) { obj.Exec(\"AMT_MessageLog\", \"PositionToFirstRecord\", {}, callback_func, tag); }\n obj.AMT_MessageLog_FreezeLog = function (Freeze, callback_func) { obj.Exec(\"AMT_MessageLog\", \"FreezeLog\", { \"Freeze\": Freeze }, callback_func); }\n obj.AMT_PublicKeyManagementService_AddCRL = function (Url, SerialNumbers, callback_func) { obj.Exec(\"AMT_PublicKeyManagementService\", \"AddCRL\", { \"Url\": Url, \"SerialNumbers\": SerialNumbers }, callback_func); }\n obj.AMT_PublicKeyManagementService_ResetCRLList = function (_method_dummy, callback_func) { obj.Exec(\"AMT_PublicKeyManagementService\", \"ResetCRLList\", { \"_method_dummy\": _method_dummy }, callback_func); }\n obj.AMT_PublicKeyManagementService_AddCertificate = function (CertificateBlob, callback_func) { obj.Exec(\"AMT_PublicKeyManagementService\", \"AddCertificate\", { \"CertificateBlob\": CertificateBlob }, callback_func); }\n obj.AMT_PublicKeyManagementService_AddTrustedRootCertificate = function (CertificateBlob, callback_func) { obj.Exec(\"AMT_PublicKeyManagementService\", \"AddTrustedRootCertificate\", { \"CertificateBlob\": CertificateBlob }, callback_func); }\n obj.AMT_PublicKeyManagementService_AddKey = function (KeyBlob, callback_func) { obj.Exec(\"AMT_PublicKeyManagementService\", \"AddKey\", { \"KeyBlob\": KeyBlob }, callback_func); }\n obj.AMT_PublicKeyManagementService_GeneratePKCS10Request = function (KeyPair, DNName, Usage, callback_func) { obj.Exec(\"AMT_PublicKeyManagementService\", \"GeneratePKCS10Request\", { \"KeyPair\": KeyPair, \"DNName\": DNName, \"Usage\": Usage }, callback_func); }\n obj.AMT_PublicKeyManagementService_GeneratePKCS10RequestEx = function (KeyPair, SigningAlgorithm, NullSignedCertificateRequest, callback_func) { obj.Exec(\"AMT_PublicKeyManagementService\", \"GeneratePKCS10RequestEx\", { \"KeyPair\": KeyPair, \"SigningAlgorithm\": SigningAlgorithm, \"NullSignedCertificateRequest\": NullSignedCertificateRequest }, callback_func); }\n obj.AMT_PublicKeyManagementService_GenerateKeyPair = function (KeyAlgorithm, KeyLength, callback_func) { obj.Exec(\"AMT_PublicKeyManagementService\", \"GenerateKeyPair\", { \"KeyAlgorithm\": KeyAlgorithm, \"KeyLength\": KeyLength }, callback_func); }\n obj.AMT_RedirectionService_RequestStateChange = function (RequestedState, callback_func) { obj.Exec(\"AMT_RedirectionService\", \"RequestStateChange\", { \"RequestedState\": RequestedState }, callback_func); }\n obj.AMT_RedirectionService_TerminateSession = function (SessionType, callback_func) { obj.Exec(\"AMT_RedirectionService\", \"TerminateSession\", { \"SessionType\": SessionType }, callback_func); }\n obj.AMT_RemoteAccessService_AddMpServer = function (AccessInfo, InfoFormat, Port, AuthMethod, Certificate, Username, Password, CN, callback_func) { obj.Exec(\"AMT_RemoteAccessService\", \"AddMpServer\", { \"AccessInfo\": AccessInfo, \"InfoFormat\": InfoFormat, \"Port\": Port, \"AuthMethod\": AuthMethod, \"Certificate\": Certificate, \"Username\": Username, \"Password\": Password, \"CN\": CN }, callback_func); }\n obj.AMT_RemoteAccessService_AddRemoteAccessPolicyRule = function (Trigger, TunnelLifeTime, ExtendedData, MpServer, callback_func) { obj.Exec(\"AMT_RemoteAccessService\", \"AddRemoteAccessPolicyRule\", { \"Trigger\": Trigger, \"TunnelLifeTime\": TunnelLifeTime, \"ExtendedData\": ExtendedData, \"MpServer\": MpServer }, callback_func); }\n obj.AMT_RemoteAccessService_CloseRemoteAccessConnection = function (_method_dummy, callback_func) { obj.Exec(\"AMT_RemoteAccessService\", \"CloseRemoteAccessConnection\", { \"_method_dummy\": _method_dummy }, callback_func); }\n obj.AMT_SetupAndConfigurationService_CommitChanges = function (_method_dummy, callback_func) { obj.Exec(\"AMT_SetupAndConfigurationService\", \"CommitChanges\", { \"_method_dummy\": _method_dummy }, callback_func); }\n obj.AMT_SetupAndConfigurationService_Unprovision = function (ProvisioningMode, callback_func) { obj.Exec(\"AMT_SetupAndConfigurationService\", \"Unprovision\", { \"ProvisioningMode\": ProvisioningMode }, callback_func); }\n obj.AMT_SetupAndConfigurationService_PartialUnprovision = function (_method_dummy, callback_func) { obj.Exec(\"AMT_SetupAndConfigurationService\", \"PartialUnprovision\", { \"_method_dummy\": _method_dummy }, callback_func); }\n obj.AMT_SetupAndConfigurationService_ResetFlashWearOutProtection = function (_method_dummy, callback_func) { obj.Exec(\"AMT_SetupAndConfigurationService\", \"ResetFlashWearOutProtection\", { \"_method_dummy\": _method_dummy }, callback_func); }\n obj.AMT_SetupAndConfigurationService_ExtendProvisioningPeriod = function (Duration, callback_func) { obj.Exec(\"AMT_SetupAndConfigurationService\", \"ExtendProvisioningPeriod\", { \"Duration\": Duration }, callback_func); }\n obj.AMT_SetupAndConfigurationService_SetMEBxPassword = function (Password, callback_func) { obj.Exec(\"AMT_SetupAndConfigurationService\", \"SetMEBxPassword\", { \"Password\": Password }, callback_func); }\n obj.AMT_SetupAndConfigurationService_SetTLSPSK = function (PID, PPS, callback_func) { obj.Exec(\"AMT_SetupAndConfigurationService\", \"SetTLSPSK\", { \"PID\": PID, \"PPS\": PPS }, callback_func); }\n obj.AMT_SetupAndConfigurationService_GetProvisioningAuditRecord = function (callback_func) { obj.Exec(\"AMT_SetupAndConfigurationService\", \"GetProvisioningAuditRecord\", {}, callback_func); }\n obj.AMT_SetupAndConfigurationService_GetUuid = function (callback_func) { obj.Exec(\"AMT_SetupAndConfigurationService\", \"GetUuid\", {}, callback_func); }\n obj.AMT_SetupAndConfigurationService_GetUnprovisionBlockingComponents = function (callback_func) { obj.Exec(\"AMT_SetupAndConfigurationService\", \"GetUnprovisionBlockingComponents\", {}, callback_func); }\n obj.AMT_SetupAndConfigurationService_GetProvisioningAuditRecordV2 = function (callback_func) { obj.Exec(\"AMT_SetupAndConfigurationService\", \"GetProvisioningAuditRecordV2\", {}, callback_func); }\n obj.AMT_SystemDefensePolicy_GetTimeout = function (callback_func) { obj.Exec(\"AMT_SystemDefensePolicy\", \"GetTimeout\", {}, callback_func); }\n obj.AMT_SystemDefensePolicy_SetTimeout = function (Timeout, callback_func) { obj.Exec(\"AMT_SystemDefensePolicy\", \"SetTimeout\", { \"Timeout\": Timeout }, callback_func); }\n obj.AMT_SystemDefensePolicy_UpdateStatistics = function (NetworkInterface, ResetOnRead, callback_func, tag, pri, selectors) { obj.Exec(\"AMT_SystemDefensePolicy\", \"UpdateStatistics\", { \"NetworkInterface\": NetworkInterface, \"ResetOnRead\": ResetOnRead }, callback_func, tag, pri, selectors); }\n obj.AMT_SystemPowerScheme_SetPowerScheme = function (callback_func, schemeInstanceId, tag) { obj.Exec(\"AMT_SystemPowerScheme\", \"SetPowerScheme\", {}, callback_func, tag, 0, { \"InstanceID\": schemeInstanceId }); }\n obj.AMT_TimeSynchronizationService_GetLowAccuracyTimeSynch = function (callback_func, tag) { obj.Exec(\"AMT_TimeSynchronizationService\", \"GetLowAccuracyTimeSynch\", {}, callback_func, tag); }\n obj.AMT_TimeSynchronizationService_SetHighAccuracyTimeSynch = function (Ta0, Tm1, Tm2, callback_func, tag) { obj.Exec(\"AMT_TimeSynchronizationService\", \"SetHighAccuracyTimeSynch\", { \"Ta0\": Ta0, \"Tm1\": Tm1, \"Tm2\": Tm2 }, callback_func, tag); }\n obj.AMT_UserInitiatedConnectionService_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"AMT_UserInitiatedConnectionService\", \"RequestStateChange\", { \"RequestedState\": RequestedState, \"TimeoutPeriod\": TimeoutPeriod }, callback_func); }\n obj.AMT_WebUIService_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"AMT_WebUIService\", \"RequestStateChange\", { \"RequestedState\": RequestedState, \"TimeoutPeriod\": TimeoutPeriod }, callback_func); }\n obj.AMT_WiFiPortConfigurationService_AddWiFiSettings = function (WiFiEndpoint, WiFiEndpointSettingsInput, IEEE8021xSettingsInput, ClientCredential, CACredential, callback_func) { obj.ExecWithXml(\"AMT_WiFiPortConfigurationService\", \"AddWiFiSettings\", { \"WiFiEndpoint\": WiFiEndpoint, \"WiFiEndpointSettingsInput\": WiFiEndpointSettingsInput, \"IEEE8021xSettingsInput\": IEEE8021xSettingsInput, \"ClientCredential\": ClientCredential, \"CACredential\": CACredential }, callback_func); }\n obj.AMT_WiFiPortConfigurationService_UpdateWiFiSettings = function (WiFiEndpointSettings, WiFiEndpointSettingsInput, IEEE8021xSettingsInput, ClientCredential, CACredential, callback_func) { obj.ExecWithXml(\"AMT_WiFiPortConfigurationService\", \"UpdateWiFiSettings\", { \"WiFiEndpointSettings\": WiFiEndpointSettings, \"WiFiEndpointSettingsInput\": WiFiEndpointSettingsInput, \"IEEE8021xSettingsInput\": IEEE8021xSettingsInput, \"ClientCredential\": ClientCredential, \"CACredential\": CACredential }, callback_func); }\n obj.AMT_WiFiPortConfigurationService_DeleteAllITProfiles = function (_method_dummy, callback_func) { obj.Exec(\"AMT_WiFiPortConfigurationService\", \"DeleteAllITProfiles\", { \"_method_dummy\": _method_dummy }, callback_func); }\n obj.AMT_WiFiPortConfigurationService_DeleteAllUserProfiles = function (_method_dummy, callback_func) { obj.Exec(\"AMT_WiFiPortConfigurationService\", \"DeleteAllUserProfiles\", { \"_method_dummy\": _method_dummy }, callback_func); }\n obj.CIM_Account_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"CIM_Account\", \"RequestStateChange\", { \"RequestedState\": RequestedState, \"TimeoutPeriod\": TimeoutPeriod }, callback_func); }\n obj.CIM_AccountManagementService_CreateAccount = function (System, AccountTemplate, callback_func) { obj.Exec(\"CIM_AccountManagementService\", \"CreateAccount\", { \"System\": System, \"AccountTemplate\": AccountTemplate }, callback_func); }\n obj.CIM_BootConfigSetting_ChangeBootOrder = function (Source, callback_func) { obj.Exec(\"CIM_BootConfigSetting\", \"ChangeBootOrder\", { \"Source\": Source }, callback_func); }\n obj.CIM_BootService_SetBootConfigRole = function (BootConfigSetting, Role, callback_func) { obj.Exec(\"CIM_BootService\", \"SetBootConfigRole\", { \"BootConfigSetting\": BootConfigSetting, \"Role\": Role }, callback_func, 0, 1); }\n obj.CIM_Card_ConnectorPower = function (Connector, PoweredOn, callback_func) { obj.Exec(\"CIM_Card\", \"ConnectorPower\", { \"Connector\": Connector, \"PoweredOn\": PoweredOn }, callback_func); }\n obj.CIM_Card_IsCompatible = function (ElementToCheck, callback_func) { obj.Exec(\"CIM_Card\", \"IsCompatible\", { \"ElementToCheck\": ElementToCheck }, callback_func); }\n obj.CIM_Chassis_IsCompatible = function (ElementToCheck, callback_func) { obj.Exec(\"CIM_Chassis\", \"IsCompatible\", { \"ElementToCheck\": ElementToCheck }, callback_func); }\n obj.CIM_Fan_SetSpeed = function (DesiredSpeed, callback_func) { obj.Exec(\"CIM_Fan\", \"SetSpeed\", { \"DesiredSpeed\": DesiredSpeed }, callback_func); }\n obj.CIM_KVMRedirectionSAP_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"CIM_KVMRedirectionSAP\", \"RequestStateChange\", { \"RequestedState\": RequestedState/*, \"TimeoutPeriod\": TimeoutPeriod */}, callback_func); }\n obj.CIM_MediaAccessDevice_LockMedia = function (Lock, callback_func) { obj.Exec(\"CIM_MediaAccessDevice\", \"LockMedia\", { \"Lock\": Lock }, callback_func); }\n obj.CIM_MediaAccessDevice_SetPowerState = function (PowerState, Time, callback_func) { obj.Exec(\"CIM_MediaAccessDevice\", \"SetPowerState\", { \"PowerState\": PowerState, \"Time\": Time }, callback_func); }\n obj.CIM_MediaAccessDevice_Reset = function (callback_func) { obj.Exec(\"CIM_MediaAccessDevice\", \"Reset\", {}, callback_func); }\n obj.CIM_MediaAccessDevice_EnableDevice = function (Enabled, callback_func) { obj.Exec(\"CIM_MediaAccessDevice\", \"EnableDevice\", { \"Enabled\": Enabled }, callback_func); }\n obj.CIM_MediaAccessDevice_OnlineDevice = function (Online, callback_func) { obj.Exec(\"CIM_MediaAccessDevice\", \"OnlineDevice\", { \"Online\": Online }, callback_func); }\n obj.CIM_MediaAccessDevice_QuiesceDevice = function (Quiesce, callback_func) { obj.Exec(\"CIM_MediaAccessDevice\", \"QuiesceDevice\", { \"Quiesce\": Quiesce }, callback_func); }\n obj.CIM_MediaAccessDevice_SaveProperties = function (callback_func) { obj.Exec(\"CIM_MediaAccessDevice\", \"SaveProperties\", {}, callback_func); }\n obj.CIM_MediaAccessDevice_RestoreProperties = function (callback_func) { obj.Exec(\"CIM_MediaAccessDevice\", \"RestoreProperties\", {}, callback_func); }\n obj.CIM_MediaAccessDevice_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"CIM_MediaAccessDevice\", \"RequestStateChange\", { \"RequestedState\": RequestedState, \"TimeoutPeriod\": TimeoutPeriod }, callback_func); }\n obj.CIM_PhysicalFrame_IsCompatible = function (ElementToCheck, callback_func) { obj.Exec(\"CIM_PhysicalFrame\", \"IsCompatible\", { \"ElementToCheck\": ElementToCheck }, callback_func); }\n obj.CIM_PhysicalPackage_IsCompatible = function (ElementToCheck, callback_func) { obj.Exec(\"CIM_PhysicalPackage\", \"IsCompatible\", { \"ElementToCheck\": ElementToCheck }, callback_func); }\n obj.CIM_PowerManagementService_RequestPowerStateChange = function (PowerState, ManagedElement, Time, TimeoutPeriod, callback_func) { obj.Exec(\"CIM_PowerManagementService\", \"RequestPowerStateChange\", { \"PowerState\": PowerState, \"ManagedElement\": ManagedElement, \"Time\": Time, \"TimeoutPeriod\": TimeoutPeriod }, callback_func, 0, 1); }\n obj.CIM_PowerSupply_SetPowerState = function (PowerState, Time, callback_func) { obj.Exec(\"CIM_PowerSupply\", \"SetPowerState\", { \"PowerState\": PowerState, \"Time\": Time }, callback_func); }\n obj.CIM_PowerSupply_Reset = function (callback_func) { obj.Exec(\"CIM_PowerSupply\", \"Reset\", {}, callback_func); }\n obj.CIM_PowerSupply_EnableDevice = function (Enabled, callback_func) { obj.Exec(\"CIM_PowerSupply\", \"EnableDevice\", { \"Enabled\": Enabled }, callback_func); }\n obj.CIM_PowerSupply_OnlineDevice = function (Online, callback_func) { obj.Exec(\"CIM_PowerSupply\", \"OnlineDevice\", { \"Online\": Online }, callback_func); }\n obj.CIM_PowerSupply_QuiesceDevice = function (Quiesce, callback_func) { obj.Exec(\"CIM_PowerSupply\", \"QuiesceDevice\", { \"Quiesce\": Quiesce }, callback_func); }\n obj.CIM_PowerSupply_SaveProperties = function (callback_func) { obj.Exec(\"CIM_PowerSupply\", \"SaveProperties\", {}, callback_func); }\n obj.CIM_PowerSupply_RestoreProperties = function (callback_func) { obj.Exec(\"CIM_PowerSupply\", \"RestoreProperties\", {}, callback_func); }\n obj.CIM_PowerSupply_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"CIM_PowerSupply\", \"RequestStateChange\", { \"RequestedState\": RequestedState, \"TimeoutPeriod\": TimeoutPeriod }, callback_func); }\n obj.CIM_Processor_SetPowerState = function (PowerState, Time, callback_func) { obj.Exec(\"CIM_Processor\", \"SetPowerState\", { \"PowerState\": PowerState, \"Time\": Time }, callback_func); }\n obj.CIM_Processor_Reset = function (callback_func) { obj.Exec(\"CIM_Processor\", \"Reset\", {}, callback_func); }\n obj.CIM_Processor_EnableDevice = function (Enabled, callback_func) { obj.Exec(\"CIM_Processor\", \"EnableDevice\", { \"Enabled\": Enabled }, callback_func); }\n obj.CIM_Processor_OnlineDevice = function (Online, callback_func) { obj.Exec(\"CIM_Processor\", \"OnlineDevice\", { \"Online\": Online }, callback_func); }\n obj.CIM_Processor_QuiesceDevice = function (Quiesce, callback_func) { obj.Exec(\"CIM_Processor\", \"QuiesceDevice\", { \"Quiesce\": Quiesce }, callback_func); }\n obj.CIM_Processor_SaveProperties = function (callback_func) { obj.Exec(\"CIM_Processor\", \"SaveProperties\", {}, callback_func); }\n obj.CIM_Processor_RestoreProperties = function (callback_func) { obj.Exec(\"CIM_Processor\", \"RestoreProperties\", {}, callback_func); }\n obj.CIM_Processor_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"CIM_Processor\", \"RequestStateChange\", { \"RequestedState\": RequestedState, \"TimeoutPeriod\": TimeoutPeriod }, callback_func); }\n obj.CIM_RecordLog_ClearLog = function (callback_func) { obj.Exec(\"CIM_RecordLog\", \"ClearLog\", {}, callback_func); }\n obj.CIM_RecordLog_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"CIM_RecordLog\", \"RequestStateChange\", { \"RequestedState\": RequestedState, \"TimeoutPeriod\": TimeoutPeriod }, callback_func); }\n obj.CIM_RedirectionService_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"CIM_RedirectionService\", \"RequestStateChange\", { \"RequestedState\": RequestedState, \"TimeoutPeriod\": TimeoutPeriod }, callback_func); }\n obj.CIM_Sensor_SetPowerState = function (PowerState, Time, callback_func) { obj.Exec(\"CIM_Sensor\", \"SetPowerState\", { \"PowerState\": PowerState, \"Time\": Time }, callback_func); }\n obj.CIM_Sensor_Reset = function (callback_func) { obj.Exec(\"CIM_Sensor\", \"Reset\", {}, callback_func); }\n obj.CIM_Sensor_EnableDevice = function (Enabled, callback_func) { obj.Exec(\"CIM_Sensor\", \"EnableDevice\", { \"Enabled\": Enabled }, callback_func); }\n obj.CIM_Sensor_OnlineDevice = function (Online, callback_func) { obj.Exec(\"CIM_Sensor\", \"OnlineDevice\", { \"Online\": Online }, callback_func); }\n obj.CIM_Sensor_QuiesceDevice = function (Quiesce, callback_func) { obj.Exec(\"CIM_Sensor\", \"QuiesceDevice\", { \"Quiesce\": Quiesce }, callback_func); }\n obj.CIM_Sensor_SaveProperties = function (callback_func) { obj.Exec(\"CIM_Sensor\", \"SaveProperties\", {}, callback_func); }\n obj.CIM_Sensor_RestoreProperties = function (callback_func) { obj.Exec(\"CIM_Sensor\", \"RestoreProperties\", {}, callback_func); }\n obj.CIM_Sensor_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"CIM_Sensor\", \"RequestStateChange\", { \"RequestedState\": RequestedState, \"TimeoutPeriod\": TimeoutPeriod }, callback_func); }\n obj.CIM_StatisticalData_ResetSelectedStats = function (SelectedStatistics, callback_func) { obj.Exec(\"CIM_StatisticalData\", \"ResetSelectedStats\", { \"SelectedStatistics\": SelectedStatistics }, callback_func); }\n obj.CIM_Watchdog_KeepAlive = function (callback_func) { obj.Exec(\"CIM_Watchdog\", \"KeepAlive\", {}, callback_func); }\n obj.CIM_Watchdog_SetPowerState = function (PowerState, Time, callback_func) { obj.Exec(\"CIM_Watchdog\", \"SetPowerState\", { \"PowerState\": PowerState, \"Time\": Time }, callback_func); }\n obj.CIM_Watchdog_Reset = function (callback_func) { obj.Exec(\"CIM_Watchdog\", \"Reset\", {}, callback_func); }\n obj.CIM_Watchdog_EnableDevice = function (Enabled, callback_func) { obj.Exec(\"CIM_Watchdog\", \"EnableDevice\", { \"Enabled\": Enabled }, callback_func); }\n obj.CIM_Watchdog_OnlineDevice = function (Online, callback_func) { obj.Exec(\"CIM_Watchdog\", \"OnlineDevice\", { \"Online\": Online }, callback_func); }\n obj.CIM_Watchdog_QuiesceDevice = function (Quiesce, callback_func) { obj.Exec(\"CIM_Watchdog\", \"QuiesceDevice\", { \"Quiesce\": Quiesce }, callback_func); }\n obj.CIM_Watchdog_SaveProperties = function (callback_func) { obj.Exec(\"CIM_Watchdog\", \"SaveProperties\", {}, callback_func); }\n obj.CIM_Watchdog_RestoreProperties = function (callback_func) { obj.Exec(\"CIM_Watchdog\", \"RestoreProperties\", {}, callback_func); }\n obj.CIM_Watchdog_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"CIM_Watchdog\", \"RequestStateChange\", { \"RequestedState\": RequestedState, \"TimeoutPeriod\": TimeoutPeriod }, callback_func); }\n obj.CIM_WiFiPort_SetPowerState = function (PowerState, Time, callback_func) { obj.Exec(\"CIM_WiFiPort\", \"SetPowerState\", { \"PowerState\": PowerState, \"Time\": Time }, callback_func); }\n obj.CIM_WiFiPort_Reset = function (callback_func) { obj.Exec(\"CIM_WiFiPort\", \"Reset\", {}, callback_func); }\n obj.CIM_WiFiPort_EnableDevice = function (Enabled, callback_func) { obj.Exec(\"CIM_WiFiPort\", \"EnableDevice\", { \"Enabled\": Enabled }, callback_func); }\n obj.CIM_WiFiPort_OnlineDevice = function (Online, callback_func) { obj.Exec(\"CIM_WiFiPort\", \"OnlineDevice\", { \"Online\": Online }, callback_func); }\n obj.CIM_WiFiPort_QuiesceDevice = function (Quiesce, callback_func) { obj.Exec(\"CIM_WiFiPort\", \"QuiesceDevice\", { \"Quiesce\": Quiesce }, callback_func); }\n obj.CIM_WiFiPort_SaveProperties = function (callback_func) { obj.Exec(\"CIM_WiFiPort\", \"SaveProperties\", {}, callback_func); }\n obj.CIM_WiFiPort_RestoreProperties = function (callback_func) { obj.Exec(\"CIM_WiFiPort\", \"RestoreProperties\", {}, callback_func); }\n obj.CIM_WiFiPort_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"CIM_WiFiPort\", \"RequestStateChange\", { \"RequestedState\": RequestedState, \"TimeoutPeriod\": TimeoutPeriod }, callback_func); }\n obj.IPS_HostBasedSetupService_Setup = function (NetAdminPassEncryptionType, NetworkAdminPassword, McNonce, Certificate, SigningAlgorithm, DigitalSignature, callback_func) { obj.Exec(\"IPS_HostBasedSetupService\", \"Setup\", { \"NetAdminPassEncryptionType\": NetAdminPassEncryptionType, \"NetworkAdminPassword\": NetworkAdminPassword, \"McNonce\": McNonce, \"Certificate\": Certificate, \"SigningAlgorithm\": SigningAlgorithm, \"DigitalSignature\": DigitalSignature }, callback_func); }\n obj.IPS_HostBasedSetupService_AddNextCertInChain = function (NextCertificate, IsLeafCertificate, IsRootCertificate, callback_func) { obj.Exec(\"IPS_HostBasedSetupService\", \"AddNextCertInChain\", { \"NextCertificate\": NextCertificate, \"IsLeafCertificate\": IsLeafCertificate, \"IsRootCertificate\": IsRootCertificate }, callback_func); }\n obj.IPS_HostBasedSetupService_AdminSetup = function (NetAdminPassEncryptionType, NetworkAdminPassword, McNonce, SigningAlgorithm, DigitalSignature, callback_func) { obj.Exec(\"IPS_HostBasedSetupService\", \"AdminSetup\", { \"NetAdminPassEncryptionType\": NetAdminPassEncryptionType, \"NetworkAdminPassword\": NetworkAdminPassword, \"McNonce\": McNonce, \"SigningAlgorithm\": SigningAlgorithm, \"DigitalSignature\": DigitalSignature }, callback_func); }\n obj.IPS_HostBasedSetupService_UpgradeClientToAdmin = function (McNonce, SigningAlgorithm, DigitalSignature, callback_func) { obj.Exec(\"IPS_HostBasedSetupService\", \"UpgradeClientToAdmin\", { \"McNonce\": McNonce, \"SigningAlgorithm\": SigningAlgorithm, \"DigitalSignature\": DigitalSignature }, callback_func); }\n obj.IPS_HostBasedSetupService_DisableClientControlMode = function (_method_dummy, callback_func) { obj.Exec(\"IPS_HostBasedSetupService\", \"DisableClientControlMode\", { \"_method_dummy\": _method_dummy }, callback_func); }\n obj.IPS_KVMRedirectionSettingData_TerminateSession = function (callback_func) { obj.Exec(\"IPS_KVMRedirectionSettingData\", \"TerminateSession\", {}, callback_func); }\n obj.IPS_OptInService_StartOptIn = function (callback_func) { obj.Exec(\"IPS_OptInService\", \"StartOptIn\", {}, callback_func); }\n obj.IPS_OptInService_CancelOptIn = function (callback_func) { obj.Exec(\"IPS_OptInService\", \"CancelOptIn\", {}, callback_func); }\n obj.IPS_OptInService_SendOptInCode = function (OptInCode, callback_func) { obj.Exec(\"IPS_OptInService\", \"SendOptInCode\", { \"OptInCode\": OptInCode }, callback_func); }\n obj.IPS_OptInService_StartService = function (callback_func) { obj.Exec(\"IPS_OptInService\", \"StartService\", {}, callback_func); }\n obj.IPS_OptInService_StopService = function (callback_func) { obj.Exec(\"IPS_OptInService\", \"StopService\", {}, callback_func); }\n obj.IPS_OptInService_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"IPS_OptInService\", \"RequestStateChange\", { \"RequestedState\": RequestedState, \"TimeoutPeriod\": TimeoutPeriod }, callback_func); }\n obj.IPS_ProvisioningRecordLog_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"IPS_ProvisioningRecordLog\", \"RequestStateChange\", { \"RequestedState\": RequestedState, \"TimeoutPeriod\": TimeoutPeriod }, callback_func); }\n obj.IPS_ProvisioningRecordLog_ClearLog = function (_method_dummy, callback_func) { obj.Exec(\"IPS_ProvisioningRecordLog\", \"ClearLog\", { \"_method_dummy\": _method_dummy }, callback_func); }\n obj.IPS_SecIOService_RequestStateChange = function (RequestedState, TimeoutPeriod, callback_func) { obj.Exec(\"IPS_SecIOService\", \"RequestStateChange\", { \"RequestedState\": RequestedState, \"TimeoutPeriod\": TimeoutPeriod }, callback_func); }\n\n obj.AmtStatusToStr = function (code) { if (obj.AmtStatusCodes[code]) return obj.AmtStatusCodes[code]; else return \"UNKNOWN_ERROR\" }\n obj.AmtStatusCodes = {\n 0x0000: \"SUCCESS\",\n 0x0001: \"INTERNAL_ERROR\",\n 0x0002: \"NOT_READY\",\n 0x0003: \"INVALID_PT_MODE\",\n 0x0004: \"INVALID_MESSAGE_LENGTH\",\n 0x0005: \"TABLE_FINGERPRINT_NOT_AVAILABLE\",\n 0x0006: \"INTEGRITY_CHECK_FAILED\",\n 0x0007: \"UNSUPPORTED_ISVS_VERSION\",\n 0x0008: \"APPLICATION_NOT_REGISTERED\",\n 0x0009: \"INVALID_REGISTRATION_DATA\",\n 0x000A: \"APPLICATION_DOES_NOT_EXIST\",\n 0x000B: \"NOT_ENOUGH_STORAGE\",\n 0x000C: \"INVALID_NAME\",\n 0x000D: \"BLOCK_DOES_NOT_EXIST\",\n 0x000E: \"INVALID_BYTE_OFFSET\",\n 0x000F: \"INVALID_BYTE_COUNT\",\n 0x0010: \"NOT_PERMITTED\",\n 0x0011: \"NOT_OWNER\",\n 0x0012: \"BLOCK_LOCKED_BY_OTHER\",\n 0x0013: \"BLOCK_NOT_LOCKED\",\n 0x0014: \"INVALID_GROUP_PERMISSIONS\",\n 0x0015: \"GROUP_DOES_NOT_EXIST\",\n 0x0016: \"INVALID_MEMBER_COUNT\",\n 0x0017: \"MAX_LIMIT_REACHED\",\n 0x0018: \"INVALID_AUTH_TYPE\",\n 0x0019: \"AUTHENTICATION_FAILED\",\n 0x001A: \"INVALID_DHCP_MODE\",\n 0x001B: \"INVALID_IP_ADDRESS\",\n 0x001C: \"INVALID_DOMAIN_NAME\",\n 0x001D: \"UNSUPPORTED_VERSION\",\n 0x001E: \"REQUEST_UNEXPECTED\",\n 0x001F: \"INVALID_TABLE_TYPE\",\n 0x0020: \"INVALID_PROVISIONING_STATE\",\n 0x0021: \"UNSUPPORTED_OBJECT\",\n 0x0022: \"INVALID_TIME\",\n 0x0023: \"INVALID_INDEX\",\n 0x0024: \"INVALID_PARAMETER\",\n 0x0025: \"INVALID_NETMASK\",\n 0x0026: \"FLASH_WRITE_LIMIT_EXCEEDED\",\n 0x0027: \"INVALID_IMAGE_LENGTH\",\n 0x0028: \"INVALID_IMAGE_SIGNATURE\",\n 0x0029: \"PROPOSE_ANOTHER_VERSION\",\n 0x002A: \"INVALID_PID_FORMAT\",\n 0x002B: \"INVALID_PPS_FORMAT\",\n 0x002C: \"BIST_COMMAND_BLOCKED\",\n 0x002D: \"CONNECTION_FAILED\",\n 0x002E: \"CONNECTION_TOO_MANY\",\n 0x002F: \"RNG_GENERATION_IN_PROGRESS\",\n 0x0030: \"RNG_NOT_READY\",\n 0x0031: \"CERTIFICATE_NOT_READY\",\n 0x0400: \"DISABLED_BY_POLICY\",\n 0x0800: \"NETWORK_IF_ERROR_BASE\",\n 0x0801: \"UNSUPPORTED_OEM_NUMBER\",\n 0x0802: \"UNSUPPORTED_BOOT_OPTION\",\n 0x0803: \"INVALID_COMMAND\",\n 0x0804: \"INVALID_SPECIAL_COMMAND\",\n 0x0805: \"INVALID_HANDLE\",\n 0x0806: \"INVALID_PASSWORD\",\n 0x0807: \"INVALID_REALM\",\n 0x0808: \"STORAGE_ACL_ENTRY_IN_USE\",\n 0x0809: \"DATA_MISSING\",\n 0x080A: \"DUPLICATE\",\n 0x080B: \"EVENTLOG_FROZEN\",\n 0x080C: \"PKI_MISSING_KEYS\",\n 0x080D: \"PKI_GENERATING_KEYS\",\n 0x080E: \"INVALID_KEY\",\n 0x080F: \"INVALID_CERT\",\n 0x0810: \"CERT_KEY_NOT_MATCH\",\n 0x0811: \"MAX_KERB_DOMAIN_REACHED\",\n 0x0812: \"UNSUPPORTED\",\n 0x0813: \"INVALID_PRIORITY\",\n 0x0814: \"NOT_FOUND\",\n 0x0815: \"INVALID_CREDENTIALS\",\n 0x0816: \"INVALID_PASSPHRASE\",\n 0x0818: \"NO_ASSOCIATION\",\n 0x081B: \"AUDIT_FAIL\",\n 0x081C: \"BLOCKING_COMPONENT\",\n 0x0821: \"USER_CONSENT_REQUIRED\",\n 0x1000: \"APP_INTERNAL_ERROR\",\n 0x1001: \"NOT_INITIALIZED\",\n 0x1002: \"LIB_VERSION_UNSUPPORTED\",\n 0x1003: \"INVALID_PARAM\",\n 0x1004: \"RESOURCES\",\n 0x1005: \"HARDWARE_ACCESS_ERROR\",\n 0x1006: \"REQUESTOR_NOT_REGISTERED\",\n 0x1007: \"NETWORK_ERROR\",\n 0x1008: \"PARAM_BUFFER_TOO_SHORT\",\n 0x1009: \"COM_NOT_INITIALIZED_IN_THREAD\",\n 0x100A: \"URL_REQUIRED\"\n }\n\n //\n // Methods used for getting the event log\n //\n\n obj.GetMessageLog = function (func, tag) {\n obj.AMT_MessageLog_PositionToFirstRecord(_GetMessageLog0, [func, tag, []]);\n }\n function _GetMessageLog0(stack, name, responses, status, tag) {\n if (status != 200 || responses.Body[\"ReturnValue\"] != '0') { tag[0](obj, null, tag[2]); return; }\n obj.AMT_MessageLog_GetRecords(responses.Body[\"IterationIdentifier\"], 390, _GetMessageLog1, tag);\n }\n function _GetMessageLog1(stack, name, responses, status, tag) {\n if (status != 200 || responses.Body[\"ReturnValue\"] != '0') { tag[0](obj, null, tag[2]); return; }\n var i, j, x, e, AmtMessages = tag[2], t = new Date(), TimeStamp, ra = responses.Body[\"RecordArray\"];\n if (typeof ra === 'string') { responses.Body[\"RecordArray\"] = [responses.Body[\"RecordArray\"]]; }\n\n for (i in ra) {\n e = null;\n try { e = window.atob(ra[i]); } catch (ex) { }\n if (e != null) {\n TimeStamp = ReadIntX(e, 0);\n if ((TimeStamp > 0) && (TimeStamp < 0xFFFFFFFF)) {\n x = { 'DeviceAddress': e.charCodeAt(4), 'EventSensorType': e.charCodeAt(5), 'EventType': e.charCodeAt(6), 'EventOffset': e.charCodeAt(7), 'EventSourceType': e.charCodeAt(8), 'EventSeverity': e.charCodeAt(9), 'SensorNumber': e.charCodeAt(10), 'Entity': e.charCodeAt(11), 'EntityInstance': e.charCodeAt(12), 'EventData': [], 'Time': new Date((TimeStamp + (t.getTimezoneOffset() * 60)) * 1000) };\n for (j = 13; j < 21; j++) { x['EventData'].push(e.charCodeAt(j)); }\n x['EntityStr'] = _SystemEntityTypes[x['Entity']];\n x['Desc'] = _GetEventDetailStr(x['EventSensorType'], x['EventOffset'], x['EventData'], x['Entity']);\n if (!x['EntityStr']) x['EntityStr'] = \"Unknown\";\n AmtMessages.push(x);\n }\n }\n }\n\n if (responses.Body[\"NoMoreRecords\"] != true) { obj.AMT_MessageLog_GetRecords(responses.Body[\"IterationIdentifier\"], 390, _GetMessageLog1, [tag[0], AmtMessages, tag[2]]); } else { tag[0](obj, AmtMessages, tag[2]); }\n }\n\n var _EventTrapSourceTypes = \"Platform firmware (e.g. BIOS)|SMI handler|ISV system management software|Alert ASIC|IPMI|BIOS vendor|System board set vendor|System integrator|Third party add-in|OSV|NIC|System management card\".split('|');\n var _SystemFirmwareError = \"Unspecified.|No system memory is physically installed in the system.|No usable system memory, all installed memory has experienced an unrecoverable failure.|Unrecoverable hard-disk/ATAPI/IDE device failure.|Unrecoverable system-board failure.|Unrecoverable diskette subsystem failure.|Unrecoverable hard-disk controller failure.|Unrecoverable PS/2 or USB keyboard failure.|Removable boot media not found.|Unrecoverable video controller failure.|No video device detected.|Firmware (BIOS) ROM corruption detected.|CPU voltage mismatch (processors that share same supply have mismatched voltage requirements)|CPU speed matching failure\".split('|');\n var _SystemFirmwareProgress = \"Unspecified.|Memory initialization.|Starting hard-disk initialization and test|Secondary processor(s) initialization|User authentication|User-initiated system setup|USB resource configuration|PCI resource configuration|Option ROM initialization|Video initialization|Cache initialization|SM Bus initialization|Keyboard controller initialization|Embedded controller/management controller initialization|Docking station attachment|Enabling docking station|Docking station ejection|Disabling docking station|Calling operating system wake-up vector|Starting operating system boot process|Baseboard or motherboard initialization|reserved|Floppy initialization|Keyboard test|Pointing device test|Primary processor initialization\".split('|');\n var _SystemEntityTypes = \"Unspecified|Other|Unknown|Processor|Disk|Peripheral|System management module|System board|Memory module|Processor module|Power supply|Add in card|Front panel board|Back panel board|Power system board|Drive backplane|System internal expansion board|Other system board|Processor board|Power unit|Power module|Power management board|Chassis back panel board|System chassis|Sub chassis|Other chassis board|Disk drive bay|Peripheral bay|Device bay|Fan cooling|Cooling unit|Cable interconnect|Memory device|System management software|BIOS|Intel(r) ME|System bus|Group|Intel(r) ME|External environment|Battery|Processing blade|Connectivity switch|Processor/memory module|I/O module|Processor I/O module|Management controller firmware|IPMI channel|PCI bus|PCI express bus|SCSI bus|SATA/SAS bus|Processor front side bus\".split('|');\n obj.RealmNames = \"||Redirection|PT Administration|Hardware Asset|Remote Control|Storage|Event Manager|Storage Admin|Agent Presence Local|Agent Presence Remote|Circuit Breaker|Network Time|General Information|Firmware Update|EIT|LocalUN|Endpoint Access Control|Endpoint Access Control Admin|Event Log Reader|Audit Log|ACL Realm|||Local System\".split('|');\n obj.WatchdogCurrentStates = { 1: 'Not Started', 2: 'Stopped', 4: 'Running', 8: 'Expired', 16: 'Suspended' };\n\n function _GetEventDetailStr(eventSensorType, eventOffset, eventDataField, entity) {\n\n if (eventSensorType == 15)\n {\n if (eventDataField[0] == 235) return \"Invalid Data\";\n if (eventOffset == 0) return _SystemFirmwareError[eventDataField[1]];\n return _SystemFirmwareProgress[eventDataField[1]];\n }\n\n if (eventSensorType == 18 && eventDataField[0] == 170) // System watchdog event\n {\n return \"Agent watchdog \" + char2hex(eventDataField[4]) + char2hex(eventDataField[3]) + char2hex(eventDataField[2]) + char2hex(eventDataField[1]) + \"-\" + char2hex(eventDataField[6]) + char2hex(eventDataField[5]) + \"-... changed to \" + obj.WatchdogCurrentStates[eventDataField[7]];\n }\n\n /*\n if (eventSensorType == 5 && eventOffset == 0) // System chassis\n {\n return \"Case intrusion\";\n }\n\n if (eventSensorType == 192 && eventOffset == 0 && eventDataField[0] == 170 && eventDataField[1] == 48)\n {\n if (eventDataField[2] == 0) return \"A remote Serial Over LAN session was established.\";\n if (eventDataField[2] == 1) return \"Remote Serial Over LAN session finished. User control was restored.\";\n if (eventDataField[2] == 2) return \"A remote IDE-Redirection session was established.\";\n if (eventDataField[2] == 3) return \"Remote IDE-Redirection session finished. User control was restored.\";\n }\n\n if (eventSensorType == 36)\n {\n long handle = ((long)(eventDataField[1]) << 24) + ((long)(eventDataField[2]) << 16) + ((long)(eventDataField[3]) << 8) + (long)(eventDataField[4]);\n string nic = string.Format(\"#{0}\", eventDataField[0]);\n if (eventDataField[0] == 0xAA) nic = \"wired\"; // TODO: Add wireless *****\n //if (eventDataField[0] == 0xAA) nic = \"wireless\";\n\n if (handle == 4294967293) { return string.Format(\"All received packet filter was matched on {0} interface.\", nic); }\n if (handle == 4294967292) { return string.Format(\"All outbound packet filter was matched on {0} interface.\", nic); }\n if (handle == 4294967290) { return string.Format(\"Spoofed packet filter was matched on {0} interface.\", nic); }\n return string.Format(\"Filter {0} was matched on {1} interface.\", handle, nic);\n }\n\n if (eventSensorType == 192)\n {\n if (eventDataField[2] == 0) return \"Security policy invoked. Some or all network traffic (TX) was stopped.\";\n if (eventDataField[2] == 2) return \"Security policy invoked. Some or all network traffic (RX) was stopped.\";\n return \"Security policy invoked.\";\n }\n\n if (eventSensorType == 193)\n {\n if (eventDataField[0] == 0xAA && eventDataField[1] == 0x30 && eventDataField[2] == 0x00 && eventDataField[3] == 0x00) { return \"User request for remote connection.\"; }\n if (eventDataField[0] == 0xAA && eventDataField[1] == 0x20 && eventDataField[2] == 0x03 && eventDataField[3] == 0x01) { return \"EAC error: attempt to get posture while NAC in Intel® AMT is disabled.\"; // eventDataField = 0xAA20030100000000 }\n if (eventDataField[0] == 0xAA && eventDataField[1] == 0x20 && eventDataField[2] == 0x04 && eventDataField[3] == 0x00) { return \"Certificate revoked. \"; }\n }\n */\n\n if (eventSensorType == 6) return \"Authentication failed \" + (eventDataField[1] + (eventDataField[2] << 8)) + \" times. The system may be under attack.\";\n if (eventSensorType == 30) return \"No bootable media\";\n if (eventSensorType == 32) return \"Operating system lockup or power interrupt\";\n if (eventSensorType == 35) return \"System boot failure\";\n if (eventSensorType == 37) return \"System firmware started (at least one CPU is properly executing).\";\n return \"Unknown Sensor Type #\" + eventSensorType;\n }\n\n// ###BEGIN###{AuditLog}\n\n // Useful link: https://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide/default.htm?turl=WordDocuments%2Fsecurityadminevents.htm\n\n var _AmtAuditStringTable =\n {\n 16: 'Security Admin',\n 17: 'RCO',\n 18: 'Redirection Manager',\n 19: 'Firmware Update Manager',\n 20: 'Security Audit Log',\n 21: 'Network Time',\n 22: 'Network Administration',\n 23: 'Storage Administration',\n 24: 'Event Manager',\n 25: 'Circuit Breaker Manager',\n 26: 'Agent Presence Manager',\n 27: 'Wireless Configuration',\n 28: 'EAC',\n 29: 'KVM',\n 30: 'User Opt-In Events',\n 32: 'Screen Blanking',\n 33: 'Watchdog Events',\n 1600: 'Provisioning Started',\n 1601: 'Provisioning Completed',\n 1602: 'ACL Entry Added',\n 1603: 'ACL Entry Modified',\n 1604: 'ACL Entry Removed',\n 1605: 'ACL Access with Invalid Credentials',\n 1606: 'ACL Entry State',\n 1607: 'TLS State Changed',\n 1608: 'TLS Server Certificate Set',\n 1609: 'TLS Server Certificate Remove',\n 1610: 'TLS Trusted Root Certificate Added',\n 1611: 'TLS Trusted Root Certificate Removed',\n 1612: 'TLS Preshared Key Set',\n 1613: 'Kerberos Settings Modified',\n 1614: 'Kerberos Master Key Modified',\n 1615: 'Flash Wear out Counters Reset',\n 1616: 'Power Package Modified',\n 1617: 'Set Realm Authentication Mode',\n 1618: 'Upgrade Client to Admin Control Mode',\n 1619: 'Unprovisioning Started',\n 1700: 'Performed Power Up',\n 1701: 'Performed Power Down',\n 1702: 'Performed Power Cycle',\n 1703: 'Performed Reset',\n 1704: 'Set Boot Options',\n 1800: 'IDER Session Opened',\n 1801: 'IDER Session Closed',\n 1802: 'IDER Enabled',\n 1803: 'IDER Disabled',\n 1804: 'SoL Session Opened',\n 1805: 'SoL Session Closed',\n 1806: 'SoL Enabled',\n 1807: 'SoL Disabled',\n 1808: 'KVM Session Started',\n 1809: 'KVM Session Ended',\n 1810: 'KVM Enabled',\n 1811: 'KVM Disabled',\n 1812: 'VNC Password Failed 3 Times',\n 1900: 'Firmware Updated',\n 1901: 'Firmware Update Failed',\n 2000: 'Security Audit Log Cleared',\n 2001: 'Security Audit Policy Modified',\n 2002: 'Security Audit Log Disabled',\n 2003: 'Security Audit Log Enabled',\n 2004: 'Security Audit Log Exported',\n 2005: 'Security Audit Log Recovered',\n 2100: 'Intel® ME Time Set',\n 2200: 'TCPIP Parameters Set',\n 2201: 'Host Name Set',\n 2202: 'Domain Name Set',\n 2203: 'VLAN Parameters Set',\n 2204: 'Link Policy Set',\n 2205: 'IPv6 Parameters Set',\n 2300: 'Global Storage Attributes Set',\n 2301: 'Storage EACL Modified',\n 2302: 'Storage FPACL Modified',\n 2303: 'Storage Write Operation',\n 2400: 'Alert Subscribed',\n 2401: 'Alert Unsubscribed',\n 2402: 'Event Log Cleared',\n 2403: 'Event Log Frozen',\n 2500: 'CB Filter Added',\n 2501: 'CB Filter Removed',\n 2502: 'CB Policy Added',\n 2503: 'CB Policy Removed',\n 2504: 'CB Default Policy Set',\n 2505: 'CB Heuristics Option Set',\n 2506: 'CB Heuristics State Cleared',\n 2600: 'Agent Watchdog Added',\n 2601: 'Agent Watchdog Removed',\n 2602: 'Agent Watchdog Action Set',\n 2700: 'Wireless Profile Added',\n 2701: 'Wireless Profile Removed',\n 2702: 'Wireless Profile Updated',\n 2800: 'EAC Posture Signer SET',\n 2801: 'EAC Enabled',\n 2802: 'EAC Disabled',\n 2803: 'EAC Posture State',\n 2804: 'EAC Set Options',\n 2900: 'KVM Opt-in Enabled',\n 2901: 'KVM Opt-in Disabled',\n 2902: 'KVM Password Changed',\n 2903: 'KVM Consent Succeeded',\n 2904: 'KVM Consent Failed',\n 3000: 'Opt-In Policy Change',\n 3001: 'Send Consent Code Event',\n 3002: 'Start Opt-In Blocked Event'\n }\n\n // Return human readable extended audit log data\n // TODO: Just put some of them here, but many more still need to be added, helpful link here:\n // https://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide/default.htm?turl=WordDocuments%2Fsecurityadminevents.htm\n obj.GetAuditLogExtendedDataStr = function (id, data) {\n if ((id == 1602 || id == 1604) && data.charCodeAt(0) == 0) { return data.substring(2, 2 + data.charCodeAt(1)); } // ACL Entry Added/Removed (Digest)\n if (id == 1603) { if (data.charCodeAt(1) == 0) { return data.substring(3); } return null; } // ACL Entry Modified\n if (id == 1605) { return [\"Invalid ME access\", \"Invalid MEBx access\"][data.charCodeAt(0)]; } // ACL Access with Invalid Credentials\n if (id == 1606) { var r = [\"Disabled\", \"Enabled\"][data.charCodeAt(0)]; if (data.charCodeAt(1) == 0) { r += \", \" + data.substring(3); } return r;} // ACL Entry State\n if (id == 1607) { return \"Remote \" + [\"NoAuth\", \"ServerAuth\", \"MutualAuth\"][data.charCodeAt(0)] + \", Local \" + [\"NoAuth\", \"ServerAuth\", \"MutualAuth\"][data.charCodeAt(1)]; } // TLS State Changed\n if (id == 1617) { return obj.RealmNames[ReadInt(data, 0)] + \", \" + [\"NoAuth\", \"Auth\", \"Disabled\"][data.charCodeAt(4)]; } // Set Realm Authentication Mode\n if (id == 1619) { return [\"BIOS\", \"MEBx\", \"Local MEI\", \"Local WSMAN\", \"Remote WSAMN\"][data.charCodeAt(0)]; } // Intel AMT Unprovisioning Started\n if (id == 1900) { return \"From \" + ReadShort(data, 0) + \".\" + ReadShort(data, 2) + \".\" + ReadShort(data, 4) + \".\" + ReadShort(data, 6) + \" to \" + ReadShort(data, 8) + \".\" + ReadShort(data, 10) + \".\" + ReadShort(data, 12) + \".\" + ReadShort(data, 14); } // Firmware Updated\n if (id == 2100) { var t4 = new Date(); t4.setTime(ReadInt(data, 0) * 1000 + (new Date().getTimezoneOffset() * 60000)); return t4.toLocaleString(); } // Intel AMT Time Set\n if (id == 3000) { return \"From \" + [\"None\", \"KVM\", \"All\"][data.charCodeAt(0)] + \" to \" + [\"None\", \"KVM\", \"All\"][data.charCodeAt(1)]; } // Opt-In Policy Change\n if (id == 3001) { return [\"Success\", \"Failed 3 times\"][data.charCodeAt(0)]; } // Send Consent Code Event\n return null;\n }\n\n obj.GetAuditLog = function (func) {\n obj.AMT_AuditLog_ReadRecords(1, _GetAuditLog0, [func, []]);\n }\n\n function _GetAuditLog0(stack, name, responses, status, tag) {\n if (status != 200) { tag[0](obj, [], status); return; }\n var ptr, i, e, x, r = tag[1], t = new Date(), TimeStamp;\n\n if (responses.Body['RecordsReturned'] > 0) {\n responses.Body['EventRecords'] = MakeToArray(responses.Body['EventRecords']);\n\n for (i in responses.Body['EventRecords']) {\n e = null;\n try {\n e = window.atob(responses.Body['EventRecords'][i]);\n } catch (e) {\n console.log(e + \" \" + responses.Body['EventRecords'][i])\n }\n x = { 'AuditAppID': ReadShort(e, 0), 'EventID': ReadShort(e, 2), 'InitiatorType': e.charCodeAt(4) };\n x['AuditApp'] = _AmtAuditStringTable[x['AuditAppID']];\n x['Event'] = _AmtAuditStringTable[(x['AuditAppID'] * 100) + x['EventID']];\n if (!x['Event']) x['Event'] = '#' + x['EventID'];\n\n // Read and process the initiator\n if (x['InitiatorType'] == 0) {\n // HTTP digest\n var userlen = e.charCodeAt(5);\n x['Initiator'] = e.substring(6, 6 + userlen);\n ptr = 6 + userlen;\n }\n if (x['InitiatorType'] == 1) {\n // Kerberos\n x['KerberosUserInDomain'] = ReadInt(e, 5);\n var userlen = e.charCodeAt(9);\n x['Initiator'] = GetSidString(e.substring(10, 10 + userlen));\n ptr = 10 + userlen;\n }\n if (x['InitiatorType'] == 2) {\n // Local\n x['Initiator'] = 'Local';\n ptr = 5;\n }\n if (x['InitiatorType'] == 3) {\n // KVM Default Port\n x['Initiator'] = 'KVM Default Port';\n ptr = 5;\n }\n\n // Read timestamp\n TimeStamp = ReadInt(e, ptr);\n x['Time'] = new Date((TimeStamp + (t.getTimezoneOffset() * 60)) * 1000);\n ptr += 4;\n\n // Read network access\n x['MCLocationType'] = e.charCodeAt(ptr++);\n var netlen = e.charCodeAt(ptr++);\n x['NetAddress'] = e.substring(ptr, ptr + netlen);\n\n // Read extended data\n ptr += netlen;\n var exlen = e.charCodeAt(ptr++);\n x['Ex'] = e.substring(ptr, ptr + exlen);\n x['ExStr'] = obj.GetAuditLogExtendedDataStr((x['AuditAppID'] * 100) + x['EventID'], x['Ex']);\n\n r.push(x);\n }\n }\n if (responses.Body['TotalRecordCount'] > r.length) {\n obj.AMT_AuditLog_ReadRecords(r.length + 1, _GetAuditLog0, [tag[0], r]);\n } else {\n tag[0](obj, r, status);\n }\n }\n\n // ###END###{AuditLog}\n\n return obj;\n}\n\n\n// ###BEGIN###{Certificates}\n\n// Forge MD5\n// WEBPACK IDENTIFIER ISSUE\n// function hex_md5(str) { return forge.md.md5.create().update(str).digest().toHex(); }\n\n// ###END###{Certificates}\n\n// ###BEGIN###{!Certificates}\n\n// TinyMD5 from https://github.com/jbt/js-crypto\n\n// Perform MD5 setup\nvar md5_k = [];\nfor (var i = 0; i < 64;) { md5_k[i] = 0 | (Math.abs(Math.sin(++i)) * 4294967296); }\n\n// Perform MD5 on raw string and return hex\nfunction hex_md5(str) {\n var b, c, d, j,\n x = [],\n str2 = unescape(encodeURI(str)),\n a = str2.length,\n h = [b = 1732584193, c = -271733879, ~b, ~c],\n i = 0;\n\n for (; i <= a;) x[i >> 2] |= (str2.charCodeAt(i) || 128) << 8 * (i++ % 4);\n\n x[str = (a + 8 >> 6) * 16 + 14] = a * 8;\n i = 0;\n\n for (; i < str; i += 16) {\n a = h; j = 0;\n for (; j < 64;) {\n a = [\n d = a[3],\n ((b = a[1] | 0) +\n ((d = (\n (a[0] +\n [\n b & (c = a[2]) | ~b & d,\n d & b | ~d & c,\n b ^ c ^ d,\n c ^ (b | ~d)\n ][a = j >> 4]\n ) +\n (md5_k[j] +\n (x[[\n j,\n 5 * j + 1,\n 3 * j + 5,\n 7 * j\n ][a] % 16 + i] | 0)\n )\n )) << (a = [\n 7, 12, 17, 22,\n 5, 9, 14, 20,\n 4, 11, 16, 23,\n 6, 10, 15, 21\n ][4 * a + j++ % 4]) | d >>> 32 - a)\n ),\n b,\n c\n ];\n }\n for (j = 4; j;) h[--j] = h[j] + a[j];\n }\n\n str = '';\n for (; j < 32;) str += ((h[j >> 3] >> ((1 ^ j++ & 7) * 4)) & 15).toString(16);\n return str;\n}\n\n// ###END###{!Certificates}\n\n// Perform MD5 on raw string and return raw string result\nfunction rstr_md5(str) { return hex2rstr(hex_md5(str)); }\n\n/*\nConvert arguments into selector set and body XML. Used by AMT_WiFiPortConfigurationService_UpdateWiFiSettings.\nargs = {\n\t\"WiFiEndpoint\": {\n\t\t__parameterType: 'reference',\n\t\t__resourceUri: 'http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_WiFiEndpoint',\n\t\tName: 'WiFi Endpoint 0'\n\t},\n\t\"WiFiEndpointSettingsInput\":\n\t{\n\t\t__parameterType: 'instance',\n\t\t__namespace: 'http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_WiFiEndpointSettings',\n\t\tElementName: document.querySelector('#editProfile-profileName').value,\n\t\tInstanceID: 'Intel(r) AMT:WiFi Endpoint Settings ' + document.querySelector('#editProfile-profileName').value,\n\t\tAuthenticationMethod: document.querySelector('#editProfile-networkAuthentication').value,\n\t\t//BSSType: 3, // Intel(r) AMT supports only infrastructure networks\n\t\tEncryptionMethod: document.querySelector('#editProfile-encryption').value,\n\t\tSSID: document.querySelector('#editProfile-networkName').value,\n\t\tPriority: 100,\n\t\tPSKPassPhrase: document.querySelector('#editProfile-passPhrase').value\n\t},\n\t\"IEEE8021xSettingsInput\": null,\n\t\"ClientCredential\": null,\n\t\"CACredential\": null\n},\n*/\nfunction execArgumentsToXml(args) {\n\tif(args === undefined || args === null) return null;\n\n\tvar result = '';\n\tfor(var argName in args) {\n\t\tvar arg = args[argName];\n\t\tif(!arg) continue;\n\t\tif(arg['__parameterType'] === 'reference') result += referenceToXml(argName, arg);\n\t\telse result += instanceToXml(argName, arg);\n\t\t//if(arg['__isInstance']) result += instanceToXml(argName, arg);\n\t}\n\treturn result;\n}\n\n/**\n * Convert JavaScript object into XML\n\n\t\n\t\tWireless-Profile-Admin\n\t\tIntel(r) AMT:WiFi Endpoint Settings Wireless-Profile-Admin\n\t\t6\n\t\t4\n\t\t100\n\t\tP@ssw0rd\n\t\n */\nfunction instanceToXml(instanceName, inInstance) {\n\tif(inInstance === undefined || inInstance === null) return null;\n\n\tvar hasNamespace = !!inInstance['__namespace'];\n\tvar startTag = hasNamespace ? '';\n\tfor(var prop in inInstance) {\n\t\tif (!inInstance.hasOwnProperty(prop) || prop.indexOf('__') === 0) continue;\n\n\t\tif (typeof inInstance[prop] === 'function' || Array.isArray(inInstance[prop]) ) continue;\n\n\t\tif (typeof inInstance[prop] === 'object') {\n\t\t\t//result += startTag + prop +'>' + instanceToXml('prop', inInstance[prop]) + endTag + prop +'>';\n\t\t\tconsole.error('only convert one level down...');\n\t\t}\n\t\telse {\n\t\t\tresult += startTag + prop +'>' + inInstance[prop].toString() + endTag + prop +'>';\n\t\t}\n\t}\n\tresult += '';\n\treturn result;\n}\n\n\n/**\n * Convert a selector set into XML. Expect no nesting.\n * {\n * \tselectorName : selectorValue,\n * \tselectorName : selectorValue,\n *\t... ...\n * }\n\n\t\n\t\thttp://192.168.1.103:16992/wsman\n\t\t\n\t\t\thttp://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_WiFiEndpoint\n\t\t\t\n\t\t\t\tWiFi Endpoint 0\n\t\t\t\n\t\t\n\t\n\n */\nfunction referenceToXml(referenceName, inReference) {\n\tif(inReference === undefined || inReference === null ) return null;\n\n\tvar result = '/wsman'+ inReference['__resourceUri']+'';\n\tfor(var selectorName in inReference) {\n\t\tif (!inReference.hasOwnProperty(selectorName) || selectorName.indexOf('__') === 0) continue;\n\n\t\tif (typeof inReference[selectorName] === 'function' ||\n\t\t\ttypeof inReference[selectorName] === 'object' ||\n\t\t\tArray.isArray(inReference[selectorName]) )\n\t\t\tcontinue;\n\n\t\tresult += '' + inReference[selectorName].toString() + '';\n\t}\n\n\tresult += '';\n\treturn result;\n}\n\n// Convert a byte array of SID into string\nfunction GetSidString(sid) {\n var r = \"S-\" + sid.charCodeAt(0) + \"-\" + sid.charCodeAt(7);\n for (var i = 2; i < (sid.length / 4) ; i++) r += \"-\" + ReadIntX(sid, i * 4);\n return r;\n}\n\n// Convert a SID readable string into bytes\nfunction GetSidByteArray(sidString) {\n if (!sidString || sidString == null) return null;\n var sidParts = sidString.split('-');\n\n // Make sure the SID has at least 4 parts and starts with 'S'\n if (sidParts.length < 4 || (sidParts[0] != 's' && sidParts[0] != 'S')) return null;\n\n // Check that each part of the SID is really an integer\n for (var i = 1; i < sidParts.length; i++) { var y = parseInt(sidParts[i]); if (y != sidParts[i]) return null; sidParts[i] = y; }\n\n // Version (8 bit) + Id count (8 bit) + 48 bit in big endian -- DO NOT use bitwise right shift operator. JavaScript converts the number into a 32 bit integer before shifting. In real world, it's highly likely this part is always 0.\n var r = String.fromCharCode(sidParts[1]) + String.fromCharCode(sidParts.length - 3) + ShortToStr(Math.floor(sidParts[2] / Math.pow(2, 32))) + IntToStr((sidParts[2]) & 0xFFFF);\n\n // the rest are in 32 bit in little endian\n for (var i = 3; i < sidParts.length; i++) r += IntToStrX(sidParts[i]);\n return r;\n}\n\nexport {\n AmtStackCreateService,\n hex_md5,\n execArgumentsToXml,\n instanceToXml,\n referenceToXml,\n GetSidString,\n GetSidByteArray\n}\n","/* eslint-disable */\n\n/** \n* @description Set of short commonly used methods for handling HTML elements\n* @author Ylian Saint-Hilaire\n* @version v0.0.1b\n*/\n\n// Add startsWith for IE browser\nif (!String.prototype.startsWith) { String.prototype.startsWith = function (str) { return this.lastIndexOf(str, 0) === 0; }; }\nif (!String.prototype.endsWith) { String.prototype.endsWith = function (str) { return this.indexOf(str, this.length - str.length) !== -1; }; }\n\n// Quick UI functions, a bit of a replacement for jQuery\n//function Q(x) { if (document.getElementById(x) == null) { console.log('Invalid element: ' + x); } return document.getElementById(x); } // \"Q\"\nfunction Q(x) { return document.getElementById(x); } // \"Q\"\nfunction QS(x) { try { return Q(x).style; } catch (x) { } } // \"Q\" style\nfunction QE(x, y) { try { Q(x).disabled = !y; } catch (x) { } } // \"Q\" enable\nfunction QV(x, y) { try { QS(x).display = (y ? '' : 'none'); } catch (x) { } } // \"Q\" visible\nfunction QA(x, y) { Q(x).innerHTML += y; } // \"Q\" append\nfunction QH(x, y) { Q(x).innerHTML = y; } // \"Q\" html\n\n// Move cursor to end of input box\nfunction inputBoxFocus(x) { Q(x).focus(); var v = Q(x).value; Q(x).value = ''; Q(x).value = v; }\n\n// Binary encoding and decoding functions\nfunction ReadShort(v, p) { return (v.charCodeAt(p) << 8) + v.charCodeAt(p + 1); }\nfunction ReadShortX(v, p) { return (v.charCodeAt(p + 1) << 8) + v.charCodeAt(p); }\nfunction ReadInt(v, p) { return (v.charCodeAt(p) * 0x1000000) + (v.charCodeAt(p + 1) << 16) + (v.charCodeAt(p + 2) << 8) + v.charCodeAt(p + 3); } // We use \"*0x1000000\" instead of \"<<24\" because the shift converts the number to signed int32.\nfunction ReadSInt(v, p) { return (v.charCodeAt(p) << 24) + (v.charCodeAt(p + 1) << 16) + (v.charCodeAt(p + 2) << 8) + v.charCodeAt(p + 3); }\nfunction ReadIntX(v, p) { return (v.charCodeAt(p + 3) * 0x1000000) + (v.charCodeAt(p + 2) << 16) + (v.charCodeAt(p + 1) << 8) + v.charCodeAt(p); }\nfunction ShortToStr(v) { return String.fromCharCode((v >> 8) & 0xFF, v & 0xFF); }\nfunction ShortToStrX(v) { return String.fromCharCode(v & 0xFF, (v >> 8) & 0xFF); }\nfunction IntToStr(v) { return String.fromCharCode((v >> 24) & 0xFF, (v >> 16) & 0xFF, (v >> 8) & 0xFF, v & 0xFF); }\nfunction IntToStrX(v) { return String.fromCharCode(v & 0xFF, (v >> 8) & 0xFF, (v >> 16) & 0xFF, (v >> 24) & 0xFF); }\nfunction MakeToArray(v) { if (!v || v == null || typeof v == 'object') return v; return [v]; }\nfunction SplitArray(v) { return v.split(','); }\nfunction Clone(v) { return JSON.parse(JSON.stringify(v)); }\nfunction EscapeHtml(x) { if (typeof x == \"string\") return x.replace(/&/g, '&').replace(/>/g, '>').replace(//g, '>').replace(/').replace(/\\n/g, '').replace(/\\t/g, '  '); if (typeof x == \"boolean\") return x; if (typeof x == \"number\") return x; }\n\n// Move an element from one position in an array to a new position\nfunction ArrayElementMove(arr, from, to) { arr.splice(to, 0, arr.splice(from, 1)[0]); };\n\n// Print object for HTML\nfunction ObjectToStringEx(x, c) {\n var r = \"\";\n if (x != 0 && (!x || x == null)) return \"(Null)\";\n if (x instanceof Array) { for (var i in x) { r += '
' + gap(c) + \"Item #\" + i + \": \" + ObjectToStringEx(x[i], c + 1); } }\n else if (x instanceof Object) { for (var i in x) { r += '
' + gap(c) + i + \" = \" + ObjectToStringEx(x[i], c + 1); } }\n else { r += EscapeHtml(x); }\n return r;\n}\n\n// Print object for console\nfunction ObjectToStringEx2(x, c) {\n var r = \"\";\n if (x != 0 && (!x || x == null)) return \"(Null)\";\n if (x instanceof Array) { for (var i in x) { r += '\\r\\n' + gap2(c) + \"Item #\" + i + \": \" + ObjectToStringEx2(x[i], c + 1); } }\n else if (x instanceof Object) { for (var i in x) { r += '\\r\\n' + gap2(c) + i + \" = \" + ObjectToStringEx2(x[i], c + 1); } }\n else { r += EscapeHtml(x); }\n return r;\n}\n\n// Create an ident gap\nfunction gap(c) { var x = ''; for (var i = 0; i < (c * 4) ; i++) { x += ' '; } return x; }\nfunction gap2(c) { var x = ''; for (var i = 0; i < (c * 4) ; i++) { x += ' '; } return x; }\n\n// Print an object in html\nfunction ObjectToString(x) { return ObjectToStringEx(x, 0); }\nfunction ObjectToString2(x) { return ObjectToStringEx2(x, 0); }\n\n// Convert a hex string to a raw string\nfunction hex2rstr(d) {\n if (typeof d != \"string\" || d.length == 0) return '';\n var r = '', m = ('' + d).match(/../g), t;\n while (t = m.shift()) r += String.fromCharCode('0x' + t);\n return r\n}\n\n// Convert decimal to hex\nfunction char2hex(i) { return (i + 0x100).toString(16).substr(-2).toUpperCase(); }\n\n// Convert a raw string to a hex string\nfunction rstr2hex(input) { var r = '', i; for (i = 0; i < input.length; i++) { r += char2hex(input.charCodeAt(i)); } return r; }\n\n// UTF-8 encoding & decoding functions\nfunction encode_utf8(s) { return unescape(encodeURIComponent(s)); }\nfunction decode_utf8(s) { return decodeURIComponent(escape(s)); }\n\n// Convert a string into a blob\nfunction data2blob(data) {\n var bytes = new Array(data.length);\n for (var i = 0; i < data.length; i++) bytes[i] = data.charCodeAt(i);\n var blob = new Blob([new Uint8Array(bytes)]);\n return blob;\n}\n\n// Generate random numbers\nfunction random(max) { return Math.floor(Math.random() * max); }\n\n// Trademarks\nfunction trademarks(x) { return x.replace(/\\(R\\)/g, '®').replace(/\\(TM\\)/g, '™'); }\n\nexport {\n Q,\n QS,\n QE,\n QV,\n QA,\n QH,\n ReadShort,\n ReadShortX,\n ReadInt,\n ReadSInt,\n ReadIntX,\n ShortToStr,\n ShortToStrX,\n IntToStr,\n IntToStrX,\n MakeToArray,\n SplitArray,\n Clone,\n EscapeHtml,\n EscapeHtmlBreaks,\n ArrayElementMove,\n ObjectToStringEx,\n ObjectToStringEx2,\n gap,\n gap2,\n ObjectToString,\n ObjectToString2,\n hex2rstr,\n char2hex,\n rstr2hex,\n encode_utf8,\n decode_utf8,\n data2blob,\n random,\n trademarks\n}","/* eslint-disable */\n\n/** \n* @description Intel AMT Redirection Transport Module - using websocket relay\n* @author Ylian Saint-Hilaire\n* @version v0.0.1f\n*/\n\nimport { hex_md5 } from './amt-0.2.0'\nimport { ReadIntX, IntToStrX} from './common-0.0.1'\nimport EnvrionmentSetter from '../../../helpers/environmentSetter';\n\n// Construct a MeshServer object\nvar CreateAmtRedirect = function (module) {\n var obj = {};\n obj.m = module; // This is the inner module (Terminal or Desktop)\n module.parent = obj;\n obj.State = 0;\n obj.socket = null;\n // ###BEGIN###{!Mode-Firmware}\n obj.host = null;\n obj.port = 0;\n obj.companyId = null;\n obj.user = null;\n obj.pass = null;\n obj.authuri = \"/RedirectionService\";\n obj.tlsv1only = 0;\n obj.inDataCount = 0;\n // ###END###{!Mode-Firmware}\n obj.connectstate = 0;\n obj.protocol = module.protocol; // 1 = SOL, 2 = KVM, 3 = IDER\n obj.debugmode = 0;\n\n obj.amtaccumulator = \"\";\n obj.amtsequence = 1;\n obj.amtkeepalivetimer = null;\n\n obj.onStateChanged = null;\n\n // Private method\n //obj.Debug = function (msg) { console.log(msg); }\n\n obj.Start = function (host, port, user, pass, tls, companyId) {\n obj.host = host;\n obj.port = port;\n obj.companyId = companyId;\n obj.user = user;\n obj.pass = pass;\n obj.connectstate = 0;\n obj.inDataCount = 0;\n // This should be replaced for a variable\n // obj.socket = new WebSocket(window.location.protocol.replace(\"http\", \"ws\") + \"//\" + window.location.host + window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/')) + \"/webrelay.ashx?p=2&host=\" + host + \"&port=\" + port + \"&tls=\" + tls + ((user == '*') ? \"&serverauth=1\" : \"\") + ((typeof pass === \"undefined\") ? (\"&serverauth=1&user=\" + user) : \"\")); // The \"p=2\" indicates to the relay that this is a REDIRECTION session\n obj.socket = new WebSocket(window.location.protocol.replace(\"http\", \"ws\") + \"//\" + EnvrionmentSetter.getEnvironmentByIndex('VUE_APP_WEBRELAY_URL') + \"/webrelay.ashx?p=2&host=\" + host + \"&port=\" + port + \"&companyId=\" + companyId + \"&tls=\" + tls + ((user == '*') ? \"&serverauth=1\" : \"\") + ((typeof pass === \"undefined\") ? (\"&serverauth=1&user=\" + user) : \"\")); // The \"p=2\" indicates to the relay that this is a REDIRECTION session\n obj.socket.onopen = obj.xxOnSocketConnected;\n obj.socket.onmessage = obj.xxOnMessage;\n obj.socket.onclose = obj.xxOnSocketClosed;\n obj.xxStateChange(1);\n }\n\n obj.xxOnSocketConnected = function () {\n //obj.Debug(\"Redir Socket Connected\");\n if (obj.debugmode == 1) { console.log('onSocketConnected'); }\n obj.xxStateChange(2);\n if (obj.protocol == 1) obj.xxSend(obj.RedirectStartSol); // TODO: Put these strings in higher level module to tighten code\n if (obj.protocol == 2) obj.xxSend(obj.RedirectStartKvm); // Don't need these is the feature is not compiled-in.\n if (obj.protocol == 3) obj.xxSend(obj.RedirectStartIder);\n }\n\n obj.xxOnMessage = function (e) {\n if (obj.debugmode == 1) { console.log('Recv', e.data); }\n obj.inDataCount++;\n if (typeof e.data == 'object') {\n var f = new FileReader();\n if (f.readAsBinaryString) {\n // Chrome & Firefox (Draft)\n f.onload = function (e) { obj.xxOnSocketData(e.target.result); }\n f.readAsBinaryString(new Blob([e.data]));\n } else if (f.readAsArrayBuffer) {\n // Chrome & Firefox (Spec)\n f.onloadend = function (e) { obj.xxOnSocketData(e.target.result); }\n f.readAsArrayBuffer(e.data);\n } else {\n // IE10, readAsBinaryString does not exist, use an alternative.\n var binary = \"\";\n var bytes = new Uint8Array(e.data);\n var length = bytes.byteLength;\n for (var i = 0; i < length; i++) { binary += String.fromCharCode(bytes[i]); }\n obj.xxOnSocketData(binary);\n }\n } else {\n // If we get a string object, it maybe the WebRTC confirm. Ignore it.\n // obj.debug(\"MeshDataChannel - OnData - \" + typeof e.data + \" - \" + e.data.length);\n obj.xxOnSocketData(e.data);\n }\n };\n \n obj.xxOnSocketData = function (data) {\n if (!data || obj.connectstate == -1) return;\n\n if (typeof data === 'object') {\n // This is an ArrayBuffer, convert it to a string array (used in IE)\n var binary = \"\";\n var bytes = new Uint8Array(data);\n var length = bytes.byteLength;\n for (var i = 0; i < length; i++) { binary += String.fromCharCode(bytes[i]); }\n data = binary;\n }\n else if (typeof data !== 'string') { return; }\n\n if ((obj.protocol == 2 || obj.protocol == 3) && obj.connectstate == 1) { return obj.m.ProcessData(data); } // KVM traffic, forward it directly.\n obj.amtaccumulator += data;\n //obj.Debug(\"Redir Recv(\" + obj.amtaccumulator.length + \"): \" + rstr2hex(obj.amtaccumulator));\n while (obj.amtaccumulator.length >= 1) {\n var cmdsize = 0;\n switch (obj.amtaccumulator.charCodeAt(0)) {\n case 0x11: // StartRedirectionSessionReply (17)\n if (obj.amtaccumulator.length < 4) return;\n var statuscode = obj.amtaccumulator.charCodeAt(1);\n switch (statuscode) {\n case 0: // STATUS_SUCCESS\n if (obj.amtaccumulator.length < 13) return;\n var oemlen = obj.amtaccumulator.charCodeAt(12);\n if (obj.amtaccumulator.length < 13 + oemlen) return;\n // Query for available authentication\n obj.xxSend(String.fromCharCode(0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)); // Query authentication support\n cmdsize = (13 + oemlen);\n break;\n default:\n obj.Stop(1);\n break;\n }\n break;\n case 0x14: // AuthenticateSessionReply (20)\n if (obj.amtaccumulator.length < 9) return;\n var authDataLen = ReadIntX(obj.amtaccumulator, 5);\n if (obj.amtaccumulator.length < 9 + authDataLen) return;\n var status = obj.amtaccumulator.charCodeAt(1);\n var authType = obj.amtaccumulator.charCodeAt(4);\n var authData = [];\n for (i = 0; i < authDataLen; i++) { authData.push(obj.amtaccumulator.charCodeAt(9 + i)); }\n var authDataBuf = obj.amtaccumulator.substring(9, 9 + authDataLen);\n cmdsize = 9 + authDataLen;\n if (authType == 0) {\n // Query\n if (authData.indexOf(4) >= 0) {\n // Good Digest Auth (With cnonce and all)\n obj.xxSend(String.fromCharCode(0x13, 0x00, 0x00, 0x00, 0x04) + IntToStrX(obj.user.length + obj.authuri.length + 8) + String.fromCharCode(obj.user.length) + obj.user + String.fromCharCode(0x00, 0x00) + String.fromCharCode(obj.authuri.length) + obj.authuri + String.fromCharCode(0x00, 0x00, 0x00, 0x00));\n }\n else if (authData.indexOf(3) >= 0) {\n // Bad Digest Auth (Not sure why this is supported, cnonce is not used!)\n obj.xxSend(String.fromCharCode(0x13, 0x00, 0x00, 0x00, 0x03) + IntToStrX(obj.user.length + obj.authuri.length + 7) + String.fromCharCode(obj.user.length) + obj.user + String.fromCharCode(0x00, 0x00) + String.fromCharCode(obj.authuri.length) + obj.authuri + String.fromCharCode(0x00, 0x00, 0x00));\n }\n else if (authData.indexOf(1) >= 0) {\n // Basic Auth (Probably a good idea to not support this unless this is an old version of Intel AMT)\n obj.xxSend(String.fromCharCode(0x13, 0x00, 0x00, 0x00, 0x01) + IntToStrX(obj.user.length + obj.pass.length + 2) + String.fromCharCode(obj.user.length) + obj.user + String.fromCharCode(obj.pass.length) + obj.pass);\n }\n else obj.Stop(2);\n }\n else if ((authType == 3 || authType == 4) && status == 1) {\n var curptr = 0;\n\n // Realm\n var realmlen = authDataBuf.charCodeAt(curptr);\n var realm = authDataBuf.substring(curptr + 1, curptr + 1 + realmlen);\n curptr += (realmlen + 1);\n\n // Nonce\n var noncelen = authDataBuf.charCodeAt(curptr);\n var nonce = authDataBuf.substring(curptr + 1, curptr + 1 + noncelen);\n curptr += (noncelen + 1);\n\n // QOP\n var qoplen = 0;\n var qop = null;\n var cnonce = obj.xxRandomNonce(32);\n var snc = '00000002';\n var extra = '';\n if (authType == 4) {\n qoplen = authDataBuf.charCodeAt(curptr);\n qop = authDataBuf.substring(curptr + 1, curptr + 1 + qoplen);\n curptr += (qoplen + 1);\n extra = snc + \":\" + cnonce + \":\" + qop + \":\";\n }\n\n var digest = hex_md5(hex_md5(obj.user + \":\" + realm + \":\" + obj.pass) + \":\" + nonce + \":\" + extra + hex_md5(\"POST:\" + obj.authuri));\n var totallen = obj.user.length + realm.length + nonce.length + obj.authuri.length + cnonce.length + snc.length + digest.length + 7;\n if (authType == 4) totallen += (qop.length + 1);\n var buf = String.fromCharCode(0x13, 0x00, 0x00, 0x00, authType) + IntToStrX(totallen) + String.fromCharCode(obj.user.length) + obj.user + String.fromCharCode(realm.length) + realm + String.fromCharCode(nonce.length) + nonce + String.fromCharCode(obj.authuri.length) + obj.authuri + String.fromCharCode(cnonce.length) + cnonce + String.fromCharCode(snc.length) + snc + String.fromCharCode(digest.length) + digest;\n if (authType == 4) buf += (String.fromCharCode(qop.length) + qop);\n obj.xxSend(buf);\n }\n else\n if (status == 0) { // Success\n if (obj.protocol == 1) {\n // Serial-over-LAN: Send Intel AMT serial settings...\n var MaxTxBuffer = 10000;\n var TxTimeout = 100;\n var TxOverflowTimeout = 0;\n var RxTimeout = 10000;\n var RxFlushTimeout = 100;\n var Heartbeat = 0;//5000;\n obj.xxSend(String.fromCharCode(0x20, 0x00, 0x00, 0x00) + IntToStrX(obj.amtsequence++) + ShortToStrX(MaxTxBuffer) + ShortToStrX(TxTimeout) + ShortToStrX(TxOverflowTimeout) + ShortToStrX(RxTimeout) + ShortToStrX(RxFlushTimeout) + ShortToStrX(Heartbeat) + IntToStrX(0));\n }\n if (obj.protocol == 2) {\n // Remote Desktop: Send traffic directly...\n obj.xxSend(String.fromCharCode(0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00));\n }\n if (obj.protocol == 3) {\n // Remote IDER: Send traffic directly...\n obj.connectstate = 1;\n obj.xxStateChange(3);\n }\n } else obj.Stop(3);\n break;\n case 0x21: // Response to settings (33)\n if (obj.amtaccumulator.length < 23) break;\n cmdsize = 23;\n obj.xxSend(String.fromCharCode(0x27, 0x00, 0x00, 0x00) + IntToStrX(obj.amtsequence++) + String.fromCharCode(0x00, 0x00, 0x1B, 0x00, 0x00, 0x00));\n if (obj.protocol == 1) { obj.amtkeepalivetimer = setInterval(obj.xxSendAmtKeepAlive, 2000); }\n obj.connectstate = 1;\n obj.xxStateChange(3);\n break;\n case 0x29: // Serial Settings (41)\n if (obj.amtaccumulator.length < 10) break;\n cmdsize = 10;\n break;\n case 0x2A: // Incoming display data (42)\n if (obj.amtaccumulator.length < 10) break;\n var cs = (10 + ((obj.amtaccumulator.charCodeAt(9) & 0xFF) << 8) + (obj.amtaccumulator.charCodeAt(8) & 0xFF));\n if (obj.amtaccumulator.length < cs) break;\n obj.m.ProcessData(obj.amtaccumulator.substring(10, cs));\n cmdsize = cs;\n break;\n case 0x2B: // Keep alive message (43)\n if (obj.amtaccumulator.length < 8) break;\n cmdsize = 8;\n break;\n case 0x41:\n if (obj.amtaccumulator.length < 8) break;\n obj.connectstate = 1;\n obj.m.Start();\n // KVM traffic, forward rest of accumulator directly.\n if (obj.amtaccumulator.length > 8) { obj.m.ProcessData(obj.amtaccumulator.substring(8)); }\n cmdsize = obj.amtaccumulator.length;\n break;\n default:\n console.log(\"Unknown Intel AMT command: \" + obj.amtaccumulator.charCodeAt(0) + \" acclen=\" + obj.amtaccumulator.length);\n obj.Stop(4);\n return;\n }\n if (cmdsize == 0) return;\n obj.amtaccumulator = obj.amtaccumulator.substring(cmdsize);\n }\n }\n \n obj.xxSend = function (x) {\n //obj.Debug(\"Redir Send(\" + x.length + \"): \" + rstr2hex(x));\n if (obj.socket != null && obj.socket.readyState == WebSocket.OPEN) {\n if (obj.debugmode == 1) { console.log('Send', x); }\n var b = new Uint8Array(x.length);\n for (var i = 0; i < x.length; ++i) { b[i] = x.charCodeAt(i); }\n obj.socket.send(b.buffer);\n }\n }\n\n obj.send = function (x) {\n if (obj.socket == null || obj.connectstate != 1) return;\n if (obj.protocol == 1) { obj.xxSend(String.fromCharCode(0x28, 0x00, 0x00, 0x00) + IntToStrX(obj.amtsequence++) + ShortToStrX(x.length) + x); } else { obj.xxSend(x); }\n }\n\n obj.xxSendAmtKeepAlive = function () {\n if (obj.socket == null) return;\n obj.xxSend(String.fromCharCode(0x2B, 0x00, 0x00, 0x00) + IntToStrX(obj.amtsequence++));\n }\n\n obj.xxRandomNonceX = \"abcdef0123456789\";\n obj.xxRandomNonce = function (length) {\n var r = \"\";\n for (var i = 0; i < length; i++) { r += obj.xxRandomNonceX.charAt(Math.floor(Math.random() * obj.xxRandomNonceX.length)); }\n return r;\n }\n\n obj.xxOnSocketClosed = function () {\n if (obj.debugmode == 1) { console.log('onSocketClosed'); }\n //obj.Debug(\"Redir Socket Closed\");\n if ((obj.inDataCount == 0) && (obj.tlsv1only == 0)) {\n obj.tlsv1only = 1;\n obj.socket = new WebSocket(window.location.protocol.replace(\"http\", \"ws\") + \"//\" + window.location.host + window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/')) + \"/webrelay.ashx?p=2&host=\" + obj.host + \"&port=\" + obj.port + \"&tls=\" + obj.tls + \"&tls1only=1\" + ((obj.user == '*') ? \"&serverauth=1\" : \"\") + ((typeof pass === \"undefined\") ? (\"&serverauth=1&user=\" + obj.user) : \"\")); // The \"p=2\" indicates to the relay that this is a REDIRECTION session\n obj.socket.onopen = obj.xxOnSocketConnected;\n obj.socket.onmessage = obj.xxOnMessage;\n obj.socket.onclose = obj.xxOnSocketClosed;\n } else {\n obj.Stop(5);\n }\n }\n\n obj.xxStateChange = function(newstate) {\n if (obj.State == newstate) return;\n obj.State = newstate;\n obj.m.xxStateChange(obj.State);\n if (obj.onStateChanged != null) obj.onStateChanged(obj, obj.State);\n }\n\n obj.Stop = function (x) {\n if (obj.debugmode == 1) { console.log('onSocketStop', x); }\n //obj.Debug(\"Redir Socket Stopped\");\n obj.xxStateChange(0);\n obj.connectstate = -1;\n obj.amtaccumulator = \"\";\n if (obj.socket != null) { obj.socket.close(); obj.socket = null; }\n if (obj.amtkeepalivetimer != null) { clearInterval(obj.amtkeepalivetimer); obj.amtkeepalivetimer = null; }\n }\n\n obj.RedirectStartSol = String.fromCharCode(0x10, 0x00, 0x00, 0x00, 0x53, 0x4F, 0x4C, 0x20);\n obj.RedirectStartKvm = String.fromCharCode(0x10, 0x01, 0x00, 0x00, 0x4b, 0x56, 0x4d, 0x52);\n obj.RedirectStartIder = String.fromCharCode(0x10, 0x00, 0x00, 0x00, 0x49, 0x44, 0x45, 0x52);\n\n return obj;\n}\n\nexport {\n CreateAmtRedirect\n}","/* eslint-disable */\n\n/* zlib.js -- JavaScript implementation for the zlib.\n Version: 0.2.0\n LastModified: Apr 12 2012\n Copyright (C) 2012 Masanao Izumo \n\n The original copyright notice (zlib 1.2.6):\n\n Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler\n\n This software is provided 'as-is', without any express or implied\n warranty. In no event will the authors be held liable for any damages\n arising from the use of this software.\n\n Permission is granted to anyone to use this software for any purpose,\n including commercial applications, and to alter it and redistribute it\n freely, subject to the following restrictions:\n\n 1. The origin of this software must not be misrepresented; you must not\n claim that you wrote the original software. If you use this software\n in a product, an acknowledgment in the product documentation would be\n appreciated but is not required.\n 2. Altered source versions must be plainly marked as such, and must not be\n misrepresented as being the original software.\n 3. This notice may not be removed or altered from any source distribution.\n\n Jean-loup Gailly Mark Adler\n jloup@gzip.org madler@alumni.caltech.edu\n\n\n The data format used by the zlib library is described by RFCs (Request for\n Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950\n (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format).\n*/\n\nvar ZLIB = ( ZLIB || {} ); // ZLIB namespace initialization\n\n// common definitions\nif(typeof ZLIB.common_initialized === 'undefined') {\n ZLIB.Z_NO_FLUSH = 0;\n ZLIB.Z_PARTIAL_FLUSH = 1;\n ZLIB.Z_SYNC_FLUSH = 2;\n ZLIB.Z_FULL_FLUSH = 3;\n ZLIB.Z_FINISH = 4;\n ZLIB.Z_BLOCK = 5;\n ZLIB.Z_TREES = 6;\n /* Allowed flush values; see deflate() and inflate() below for details */\n\n ZLIB.Z_OK = 0;\n ZLIB.Z_STREAM_END = 1;\n ZLIB.Z_NEED_DICT = 2;\n ZLIB.Z_ERRNO = (-1);\n ZLIB.Z_STREAM_ERROR = (-2);\n ZLIB.Z_DATA_ERROR = (-3);\n ZLIB.Z_MEM_ERROR = (-4);\n ZLIB.Z_BUF_ERROR = (-5);\n ZLIB.Z_VERSION_ERROR = (-6);\n /* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\n\n ZLIB.Z_DEFLATED = 8; /* The deflate compression method (the only one supported in this version) */\n\n /**\n\t * z_stream constructor\n\t * @constructor\n\t */\n\tZLIB.z_stream = function() {\n\t\t\tthis.next_in = 0; /* next input byte */\n\t\t\tthis.avail_in = 0; /* number of bytes available in input_data */\n\t\t\tthis.total_in = 0; /* total number of input bytes read so far */\n\n\t\t\tthis.next_out = 0; /* next output byte */\n\t\t\tthis.avail_out = 0; /* remaining free space at next_out */\n\t\t\tthis.total_out = 0; /* total number of bytes output so far */\n\n\t\t\tthis.msg = null; /* last error message, null if no error */\n\t\t\tthis.state = null; /* not visible by applications */\n\n\t\t\tthis.data_type = 0; /* best guess about the data type: binary or text */\n\t\t\tthis.adler = 0; /* TODO: adler32 value of the uncompressed data */\n\n\t\t\t// zlib.js\n\t\t\tthis.input_data = ''; /* input data */\n\t\t\tthis.output_data = ''; /* output data */\n\t\t\tthis.error = 0; /* error code */\n\t\t\tthis.checksum_function = null; /* crc32(for gzip) or adler32(for zlib) */\n\t};\n\n /**\n\t * TODO\n\t * @constructor\n\t */\n\tZLIB.gz_header = function() {\n\t\tthis.text = 0; /* true if compressed data believed to be text */\n\t this.time = 0; /* modification time */\n\t\tthis.xflags = 0; /* extra flags (not used when writing a gzip file) */\n\t\tthis.os = 0xff; /* operating system */\n\t\tthis.extra = null; /* extra field string or null if none */\n\t\tthis.extra_len = 0; /* this.extra.length (only when reading header) */\n\t\tthis.extra_max = 0; /* space at extra (only when reading header) */\n\t\tthis.name = null; /* file name string or null if none */\n\t\tthis.name_max = 0; /* space at name (only when reading header) */\n\t\tthis.comment = null; /* comment string or null if none */\n\t\tthis.comm_max = 0; /* space at comment (only when reading header) */\n\t\tthis.hcrc = 0; /* true if there was or will be a header crc */\n\t\tthis.done = 0; /* true when done reading gzip header (not used\n\t\t\t\t\t\t\t when writing a gzip file) */\n\t};\n\n\tZLIB.common_initialized = true;\n} // common definitions\n\nexport {\n ZLIB\n}","/* eslint-disable */\n\n/* zlib-inflate.js -- JavaScript implementation for the zlib inflate.\n Version: 0.2.0\n LastModified: Apr 12 2012\n Copyright (C) 2012 Masanao Izumo \n\n This library is one of the JavaScript zlib implementation.\n Some API's are modified from the original.\n Only inflate API is implemented.\n\n The original copyright notice (zlib 1.2.6):\n\n Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler\n\n This software is provided 'as-is', without any express or implied\n warranty. In no event will the authors be held liable for any damages\n arising from the use of this software.\n\n Permission is granted to anyone to use this software for any purpose,\n including commercial applications, and to alter it and redistribute it\n freely, subject to the following restrictions:\n\n 1. The origin of this software must not be misrepresented; you must not\n claim that you wrote the original software. If you use this software\n in a product, an acknowledgment in the product documentation would be\n appreciated but is not required.\n 2. Altered source versions must be plainly marked as such, and must not be\n misrepresented as being the original software.\n 3. This notice may not be removed or altered from any source distribution.\n\n Jean-loup Gailly Mark Adler\n jloup@gzip.org madler@alumni.caltech.edu\n\n\n The data format used by the zlib library is described by RFCs (Request for\n Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950\n (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format).\n*/\n\n/*\n API documentation\n==============================================================================\nUsage: z_stream = ZLIB.inflateInit([windowBits]);\n\n Create the stream object for decompression.\n See zlib.h for windowBits information.\n\n==============================================================================\nUsage: decoded_string = z_stream.inflate(encoded_string [, {OPTIONS...}]);\n\nOPTIONS:\n next_in: decode start offset for encoded_string.\n\n avail_in: // TODO document. See zlib.h for the information.\n\n avail_out: // TODO document. See zlib.h for the information.\n\n flush: // TODO document. See zlib.h for the information.\n\nEx: decoded_string = z_stream.inflate(encoded_string);\n decoded_string = z_stream.inflate(encoded_string,\n {next_in: 0,\n avail_in: encoded_string.length,\n avail_out: 1024,\n flush: ZLIB.Z_NO_FLUSH});\n\n See zlib.h for more information.\n\n==============================================================================\nUsage: z_stream.inflateReset();\n TODO document\n\n*/\n\nimport { ZLIB } from './zlib'\n\nif( typeof ZLIB === 'undefined' ) {\n alert('ZLIB is not defined. SRC zlib.js before zlib-inflate.js')\n}\n\n(function() {\n\n/* inflate.c -- zlib decompression\n * Copyright (C) 1995-2011 Mark Adler\n * For conditions of distribution and use, see copyright notice in zlib.h\n */\n\nvar DEF_WBITS = 15;\n\n// inflate_mode\nvar HEAD = 0; /* i: waiting for magic header */\nvar FLAGS = 1; /* i: waiting for method and flags (gzip) */\nvar TIME = 2; /* i: waiting for modification time (gzip) */\nvar OS = 3; /* i: waiting for extra flags and operating system (gzip) */\nvar EXLEN = 4; /* i: waiting for extra length (gzip) */\nvar EXTRA = 5; /* i: waiting for extra bytes (gzip) */\nvar NAME = 6; /* i: waiting for end of file name (gzip) */\nvar COMMENT = 7; /* i: waiting for end of comment (gzip) */\nvar HCRC = 8; /* i: waiting for header crc (gzip) */\nvar DICTID = 9; /* i: waiting for dictionary check value */\nvar DICT = 10; /* waiting for inflateSetDictionary() call */\nvar TYPE = 11; /* i: waiting for type bits, including last-flag bit */\nvar TYPEDO = 12; /* i: same, but skip check to exit inflate on new block */\nvar STORED = 13; /* i: waiting for stored size (length and complement) */\nvar COPY_ = 14; /* i/o: same as COPY below, but only first time in */\nvar COPY = 15; /* i/o: waiting for input or output to copy stored block */\nvar TABLE = 16; /* i: waiting for dynamic block table lengths */\nvar LENLENS = 17; /* i: waiting for code length code lengths */\nvar CODELENS = 18; /* i: waiting for length/lit and distance code lengths */\nvar LEN_ = 19; /* i: same as LEN below, but only first time in */\nvar LEN = 20; /* i: waiting for length/lit/eob code */\nvar LENEXT = 21; /* i: waiting for length extra bits */\nvar DIST = 22; /* i: waiting for distance code */\nvar DISTEXT = 23; /* i: waiting for distance extra bits */\nvar MATCH = 24; /* o: waiting for output space to copy string */\nvar LIT = 25; /* o: waiting for output space to write literal */\nvar CHECK = 26; /* i: waiting for 32-bit check value */\nvar LENGTH = 27; /* i: waiting for 32-bit length (gzip) */\nvar DONE = 28; /* finished check, done -- remain here until reset */\nvar BAD = 29; /* got a data error -- remain here until reset */\nvar MEM = 30; /* got an inflate() memory error -- remain here until reset */\nvar SYNC = 31; /* looking for synchronization bytes to restart inflate() */\n\n/* Maximum size of the dynamic table. The maximum number of code structures is\n 1444, which is the sum of 852 for literal/length codes and 592 for distance\n codes. These values were found by exhaustive searches using the program\n examples/enough.c found in the zlib distribtution. The arguments to that\n program are the number of symbols, the initial root table size, and the\n maximum bit length of a code. \"enough 286 9 15\" for literal/length codes\n returns returns 852, and \"enough 30 6 15\" for distance codes returns 592.\n The initial root table size (9 or 6) is found in the fifth argument of the\n inflate_table() calls in inflate.c and infback.c. If the root table size is\n changed, then these maximum sizes would be need to be recalculated and\n updated. */\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\nvar ENOUGH = (ENOUGH_LENS + ENOUGH_DISTS);\n\n/* Type of code to build for inflate_table() */\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\n\n\nvar inflate_table_lbase = [ /* Length codes 257..285 base */\n 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0];\nvar inflate_table_lext = [ /* Length codes 257..285 extra */\n 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 203, 69];\nvar inflate_table_dbase = [ /* Distance codes 0..29 base */\n 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n 8193, 12289, 16385, 24577, 0, 0];\nvar inflate_table_dext = [ /* Distance codes 0..29 extra */\n 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n 28, 28, 29, 29, 64, 64];\n\n/* inftrees.c -- generate Huffman trees for efficient decoding\n * Copyright (C) 1995-2012 Mark Adler\n * For conditions of distribution and use, see copyright notice in zlib.h\n */\n\nZLIB.inflate_copyright =\n ' inflate 1.2.6 Copyright 1995-2012 Mark Adler ';\n/*\n If you use the zlib library in a product, an acknowledgment is welcome\n in the documentation of your product. If for some reason you cannot\n include such an acknowledgment, I would appreciate that you keep this\n copyright string in the executable of your product.\n */\n\n/*\n Build a set of tables to decode the provided canonical Huffman code.\n The code lengths are lens[0..codes-1]. The result starts at *table,\n whose indices are 0..2^bits-1. work is a writable array of at least\n lens shorts, which is used as a work area. type is the type of code\n to be generated, CODES, LENS, or DISTS. On return, zero is success,\n -1 is an invalid code, and +1 means that ENOUGH isn't enough. table\n on return points to the next available entry's address. bits is the\n requested root table index bits, and on return it is the actual root\n table index bits. It will differ if the request is greater than the\n longest code or if it is less than the shortest code.\n*/\nfunction inflate_table(state, type)\n{\n var MAXBITS = 15;\n var table = state.next;\n var bits = (type == DISTS ? state.distbits : state.lenbits);\n var work = state.work;\n var lens = state.lens;\n var lens_offset = (type == DISTS ? state.nlen : 0);\n var state_codes = state.codes;\n var codes;\n if(type == LENS)\n codes = state.nlen;\n else if(type == DISTS)\n codes = state.ndist;\n else // CODES\n codes = 19;\n\n var len; /* a code's length in bits */\n var sym; /* index of code symbols */\n var min, max; /* minimum and maximum code lengths */\n var root; /* number of index bits for root table */\n var curr; /* number of index bits for current table */\n var drop; /* code bits to drop for sub-table */\n var left; /* number of prefix codes available */\n var used; /* code entries in table used */\n var huff; /* Huffman code */\n var incr; /* for incrementing code, index */\n var fill; /* index for replicating entries */\n var low; /* low bits for current root entry */\n var mask; /* mask for low root bits */\n var here; /* table entry for duplication */\n var next; /* next available space in table */\n var base; /* base value table to use */\n var base_offset;\n var extra; /* extra bits table to use */\n var extra_offset;\n var end; /* use base and extra for symbol > end */\n var count = new Array(MAXBITS+1); /* number of codes of each length */\n var offs = new Array(MAXBITS+1); /* offsets in table for each length */\n\n /*\n Process a set of code lengths to create a canonical Huffman code. The\n code lengths are lens[0..codes-1]. Each length corresponds to the\n symbols 0..codes-1. The Huffman code is generated by first sorting the\n symbols by length from short to long, and retaining the symbol order\n for codes with equal lengths. Then the code starts with all zero bits\n for the first code of the shortest length, and the codes are integer\n increments for the same length, and zeros are appended as the length\n increases. For the deflate format, these bits are stored backwards\n from their more natural integer increment ordering, and so when the\n decoding tables are built in the large loop below, the integer codes\n are incremented backwards.\n\n This routine assumes, but does not check, that all of the entries in\n lens[] are in the range 0..MAXBITS. The caller must assure this.\n 1..MAXBITS is interpreted as that code length. zero means that that\n symbol does not occur in this code.\n\n The codes are sorted by computing a count of codes for each length,\n creating from that a table of starting indices for each length in the\n sorted table, and then entering the symbols in order in the sorted\n table. The sorted table is work[], with that space being provided by\n the caller.\n\n The length counts are used for other purposes as well, i.e. finding\n the minimum and maximum length codes, determining if there are any\n codes at all, checking for a valid set of lengths, and looking ahead\n at length counts to determine sub-table sizes when building the\n decoding tables.\n */\n\n /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n for (len = 0; len <= MAXBITS; len++)\n count[len] = 0;\n for (sym = 0; sym < codes; sym++)\n count[lens[lens_offset + sym]]++;\n\n /* bound code lengths, force root to be within code lengths */\n root = bits;\n\n for (max = MAXBITS; max >= 1; max--)\n if (count[max] != 0) break;\n if (root > max) root = max;\n if (max == 0) {\n /* no symbols to code at all */\n /* invalid code marker */\n here = {op:64, bits:1, val:0};\n state_codes[table++] = here; /* make a table to force an error */\n state_codes[table++] = here;\n if(type == DISTS) state.distbits = 1; else state.lenbits = 1; // *bits = 1;\n state.next = table;\n return 0; /* no symbols, but wait for decoding to report error */\n }\n for (min = 1; min < max; min++)\n if (count[min] != 0) break;\n if (root < min) root = min;\n\n /* check for an over-subscribed or incomplete set of lengths */\n left = 1;\n for (len = 1; len <= MAXBITS; len++) {\n left <<= 1;\n left -= count[len];\n if (left < 0) return -1; /* over-subscribed */\n }\n if (left > 0 && (type == CODES || max != 1)) {\n state.next = table;\n return -1; /* incomplete set */\n }\n\n /* generate offsets into symbol table for each length for sorting */\n offs[1] = 0;\n for (len = 1; len < MAXBITS; len++)\n offs[len + 1] = offs[len] + count[len];\n\n /* sort symbols by length, by symbol order within each length */\n for (sym = 0; sym < codes; sym++)\n if (lens[lens_offset + sym] != 0) work[offs[lens[lens_offset + sym]]++] = sym;\n\n /*\n Create and fill in decoding tables. In this loop, the table being\n filled is at next and has curr index bits. The code being used is huff\n with length len. That code is converted to an index by dropping drop\n bits off of the bottom. For codes where len is less than drop + curr,\n those top drop + curr - len bits are incremented through all values to\n fill the table with replicated entries.\n\n root is the number of index bits for the root table. When len exceeds\n root, sub-tables are created pointed to by the root entry with an index\n of the low root bits of huff. This is saved in low to check for when a\n new sub-table should be started. drop is zero when the root table is\n being filled, and drop is root when sub-tables are being filled.\n\n When a new sub-table is needed, it is necessary to look ahead in the\n code lengths to determine what size sub-table is needed. The length\n counts are used for this, and so count[] is decremented as codes are\n entered in the tables.\n\n used keeps track of how many table entries have been allocated from the\n provided *table space. It is checked for LENS and DIST tables against\n the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n the initial root table size constants. See the comments in inftrees.h\n for more information.\n\n sym increments through all symbols, and the loop terminates when\n all codes of length max, i.e. all codes, have been processed. This\n routine permits incomplete codes, so another loop after this one fills\n in the rest of the decoding tables with invalid code markers.\n */\n\n /* set up for code type */\n switch (type) {\n case CODES:\n base = extra = work; /* dummy value--not used */\n base_offset = 0;\n extra_offset = 0;\n end = 19;\n break;\n case LENS:\n base = inflate_table_lbase;\n base_offset = -257; // base -= 257;\n extra = inflate_table_lext;\n extra_offset = -257; // extra -= 257;\n end = 256;\n break;\n default: /* DISTS */\n base = inflate_table_dbase;\n extra = inflate_table_dext;\n base_offset = 0;\n extra_offset = 0;\n end = -1;\n }\n\n /* initialize state for loop */\n huff = 0; /* starting code */\n sym = 0; /* starting code symbol */\n len = min; /* starting code length */\n next = table; /* current table to fill in */\n curr = root; /* current table index bits */\n drop = 0; /* current bits to drop from code for index */\n low = -1; /* trigger new sub-table when len > root */\n used = 1 << root; /* use root table entries */\n mask = used - 1; /* mask for comparing low */\n\n /* check available table space */\n if ((type == LENS && used >= ENOUGH_LENS) ||\n (type == DISTS && used >= ENOUGH_DISTS)) {\n state.next = table;\n return 1;\n }\n\n /* process all codes and make table entries */\n for (;;) {\n /* create table entry */\n here = {op:0, bits:len - drop, val:0};\n if (work[sym] < end) {\n here.val = work[sym];\n }\n else if (work[sym] > end) {\n here.op = extra[extra_offset + work[sym]];\n here.val = base[base_offset + work[sym]];\n }\n else {\n here.op = 32 + 64; /* end of block */\n }\n\n /* replicate for those indices with low len bits equal to huff */\n incr = 1 << (len - drop);\n fill = 1 << curr;\n min = fill; /* save offset to next table */\n do {\n fill -= incr;\n state_codes[next + (huff >>> drop) + fill] = here;\n } while (fill != 0);\n\n /* backwards increment the len-bit code huff */\n incr = 1 << (len - 1);\n while (huff & incr)\n incr >>>= 1;\n if (incr != 0) {\n huff &= incr - 1;\n huff += incr;\n }\n else\n huff = 0;\n\n /* go to next symbol, update count, len */\n sym++;\n if (--(count[len]) == 0) {\n if (len == max) break;\n len = lens[lens_offset + work[sym]];\n }\n\n /* create new sub-table if needed */\n if (len > root && (huff & mask) != low) {\n /* if first time, transition to sub-tables */\n if (drop == 0)\n drop = root;\n\n /* increment past last table */\n next += min; /* here min is 1 << curr */\n\n /* determine length of next table */\n curr = len - drop;\n left = (1 << curr);\n while (curr + drop < max) {\n left -= count[curr + drop];\n if (left <= 0) break;\n curr++;\n left <<= 1;\n }\n\n /* check for enough space */\n used += 1 << curr;\n if ((type == LENS && used >= ENOUGH_LENS) ||\n (type == DISTS && used >= ENOUGH_DISTS)) {\n state.next = table;\n return 1;\n }\n\n /* point entry in root table to sub-table */\n low = huff & mask;\n state_codes[table + low] = {op:curr, bits:root, val:next - table};\n }\n }\n\n /* fill in remaining table entry if code is incomplete (guaranteed to have\n at most one remaining entry, since if the code is incomplete, the\n maximum code length that was allowed to get this far is one bit) */\n if (huff != 0) {\n state_codes[next + huff] = {op:64, bits:len - drop, val:0};\n }\n\n /* set return parameters */\n state.next = table + used;\n if(type == DISTS) state.distbits = root; else state.lenbits = root; //*bits = root;\n return 0;\n}\n\n/* inffast.c -- fast decoding\n * Copyright (C) 1995-2008, 2010 Mark Adler\n * For conditions of distribution and use, see copyright notice in zlib.h\n */\n\n/*\n Decode literal, length, and distance codes and write out the resulting\n literal and match bytes until either not enough input or output is\n available, an end-of-block is encountered, or a data error is encountered.\n When large enough input and output buffers are supplied to inflate(), for\n example, a 16K input buffer and a 64K output buffer, more than 95% of the\n inflate execution time is spent in this routine.\n\n Entry assumptions:\n\n state->mode == LEN\n strm->avail_in >= 6\n strm->avail_out >= 258\n start >= strm->avail_out\n state->bits < 8\n\n On return, state->mode is one of:\n\n LEN -- ran out of enough output space or enough available input\n TYPE -- reached end of block code, inflate() to interpret next block\n BAD -- error in block data\n\n Notes:\n\n - The maximum input bits used by a length/distance pair is 15 bits for the\n length code, 5 bits for the length extra, 15 bits for the distance code,\n and 13 bits for the distance extra. This totals 48 bits, or six bytes.\n Therefore if strm->avail_in >= 6, then there is enough input to avoid\n checking for available input while decoding.\n\n - The maximum bytes that a single length/distance pair can output is 258\n bytes, which is the maximum length that can be coded. inflate_fast()\n requires strm->avail_out >= 258 for each loop to avoid checking for\n output space.\n */\nfunction inflate_fast(strm,\n start) /* inflate()'s starting value for strm->avail_out */\n{\n var state;\n var input_data; /* local strm->input_data */\n var next_in; /* zlib.js: index of input_data */\n var last; /* while next_in < last, enough input available */\n var out; /* local strm.next_out */\n var beg; /* inflate()'s initial strm.next_out */\n var end; /* while out < end, enough space available */\n//NOSPRT #ifdef INFLATE_STRICT\n// unsigned dmax; /* maximum distance from zlib header */\n//#endif\n var wsize; /* window size or zero if not using window */\n var whave; /* valid bytes in the window */\n var wnext; /* window write index */\n var window; /* allocated sliding window, if wsize != 0 */\n var hold; /* local strm->hold */\n var bits; /* local strm->bits */\n var codes; /* zlib.js: local state.codes */\n var lcode; /* local strm->lencode */\n var dcode; /* local strm->distcode */\n var lmask; /* mask for first level of length codes */\n var dmask; /* mask for first level of distance codes */\n var here; /* retrieved table entry */\n var op; /* code bits, operation, extra bits, or */\n /* window position, window bytes to copy */\n var len; /* match length, unused bytes */\n var dist; /* match distance */\n // var from; /* where to copy match from */\n var from_window_offset = -1; /* index of window[] */\n var from_out_offset = -1; /* index of next_out[] */\n\n /* copy state to local variables */\n state = strm.state;\n input_data = strm.input_data;\n next_in = strm.next_in;\n last = next_in + strm.avail_in - 5;\n out = strm.next_out;\n beg = out - (start - strm.avail_out);\n end = out + (strm.avail_out - 257);\n//NOSPRT #ifdef INFLATE_STRICT\n// dmax = state->dmax;\n//#endif\n wsize = state.wsize;\n whave = state.whave;\n wnext = state.wnext;\n window = state.window;\n hold = state.hold;\n bits = state.bits;\n codes = state.codes;\n lcode = state.lencode;\n dcode = state.distcode;\n lmask = (1 << state.lenbits) - 1;\n dmask = (1 << state.distbits) - 1;\n\n /* decode literals and length/distances until end-of-block or not enough\n input data or output space */\nloop: do {\n if (bits < 15) {\n hold += (input_data.charCodeAt(next_in++) & 0xff) << bits;\n bits += 8;\n hold += (input_data.charCodeAt(next_in++) & 0xff) << bits;\n bits += 8;\n }\n here = codes[lcode + (hold & lmask)];\n dolen: while(true) {\n op = here.bits;\n hold >>>= op;\n bits -= op;\n op = here.op;\n if (op == 0) { /* literal */\n// Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n// \"inflate: literal '%c'\\n\" :\n// \"inflate: literal 0x%02x\\n\", here.val));\n strm.output_data += String.fromCharCode(here.val);\n out++;\n }\n else if (op & 16) { /* length base */\n len = here.val;\n op &= 15; /* number of extra bits */\n if (op) {\n if (bits < op) {\n hold += (input_data.charCodeAt(next_in++) & 0xff) << bits;\n bits += 8;\n }\n len += hold & ((1 << op) - 1);\n hold >>>= op;\n bits -= op;\n }\n// Tracevv((stderr, \"inflate: length %u\\n\", len));\n if (bits < 15) {\n hold += (input_data.charCodeAt(next_in++) & 0xff) << bits;\n bits += 8;\n hold += (input_data.charCodeAt(next_in++) & 0xff) << bits;\n bits += 8;\n }\n here = codes[dcode + (hold & dmask)];\n dodist: while(true) {\n op = here.bits;\n hold >>>= op;\n bits -= op;\n op = here.op;\n if (op & 16) { /* distance base */\n dist = here.val;\n op &= 15; /* number of extra bits */\n if (bits < op) {\n hold += (input_data.charCodeAt(next_in++) & 0xff) << bits;\n bits += 8;\n if (bits < op) {\n hold += (input_data.charCodeAt(next_in++) & 0xff) << bits;\n bits += 8;\n }\n }\n dist += hold & ((1 << op) - 1);\n//NOSPRT #ifdef INFLATE_STRICT\n// if (dist > dmax) {\n// strm->msg = (char *)\"invalid distance too far back\";\n// state->mode = BAD;\n// break loop;\n// }\n//#endif\n hold >>>= op;\n bits -= op;\n// Tracevv((stderr, \"inflate: distance %u\\n\", dist));\n op = out - beg; /* max distance in output */\n if (dist > op) { /* see if copy from window */\n op = dist - op; /* distance back in window */\n if (op > whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break loop;\n }\n//NOSPRT #ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// if (len <= op - whave) {\n// do {\n// PUP(out) = 0;\n// } while (--len);\n// continue;\n// }\n// len -= op - whave;\n// do {\n// PUP(out) = 0;\n// } while (--op > whave);\n// if (op == 0) {\n// from = out - dist;\n// do {\n// PUP(out) = PUP(from);\n// } while (--len);\n// continue;\n// }\n//#endif\n } // if (op > whave)\n\n from_window_offset = 0;\n from_out_offset = -1;\n\t\t\t\t\t\t\tif (wnext == 0) { /* very common case */\n\t\t\t\t\t\t\t\tfrom_window_offset += wsize - op;\n\t\t\t\t\t\t\t\tif (op < len) { /* some from window */\n\t\t\t\t\t\t\t\t\tlen -= op;\n\t\t\t\t\t\t\t\t\tstrm.output_data += window.substring(from_window_offset, from_window_offset + op);\n\t\t\t\t\t\t\t\t\tout += op;\n\t\t\t\t\t\t\t\t\top = 0;\n\t\t\t\t\t\t\t\t\tfrom_window_offset = -1;\n\t\t\t\t\t\t\t\t\tfrom_out_offset = out - dist; /* rest from output */\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n//NOTREACHED else if (wnext < op) { /* wrap around window */\n//NOTREACHED from += wsize + wnext - op;\n//NOTREACHED op -= wnext;\n//NOTREACHED if (op < len) { /* some from end of window */\n//NOTREACHED len -= op;\n//NOTREACHED do {\n//NOTREACHED PUP(out) = PUP(from);\n//NOTREACHED } while (--op);\n//NOTREACHED from = window - OFF;\n//NOTREACHED if (wnext < len) { /* some from start of window */\n//NOTREACHED op = wnext;\n//NOTREACHED len -= op;\n//NOTREACHED do {\n//NOTREACHED PUP(out) = PUP(from);\n//NOTREACHED } while (--op);\n//NOTREACHED from = out - dist; /* rest from output */\n//NOTREACHED }\n//NOTREACHED }\n//NOTREACHED }\n\t\t\t\t\t\t\telse { /* contiguous in window */\n\t\t\t\t\t\t\t\tfrom_window_offset += wnext - op;\n\t\t\t\t\t\t\t\tif (op < len) { /* some from window */\n\t\t\t\t\t\t\t\t\tlen -= op;\n\t\t\t\t\t\t\t\t\tstrm.output_data += window.substring(from_window_offset, from_window_offset + op);\n\t\t\t\t\t\t\t\t\tout += op;\n\t\t\t\t\t\t\t\t\tfrom_window_offset = -1;\n\t\t\t\t\t\t\t\t\tfrom_out_offset = out - dist; /* rest from output */\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n }\n else {\n from_window_offset = -1;\n from_out_offset = out - dist; /* copy direct from output */\n }\n\n if (from_window_offset >= 0) {\n strm.output_data += window.substring(from_window_offset, from_window_offset + len);\n out += len;\n from_window_offset += len;\n } else {\n var len_inner = len;\n if(len_inner > out - from_out_offset)\n len_inner = out - from_out_offset;\n strm.output_data += strm.output_data.substring(\n from_out_offset, from_out_offset + len_inner);\n out += len_inner;\n len -= len_inner;\n from_out_offset += len_inner;\n out += len;\n while (len > 2) {\n strm.output_data += strm.output_data.charAt(from_out_offset++);\n strm.output_data += strm.output_data.charAt(from_out_offset++);\n strm.output_data += strm.output_data.charAt(from_out_offset++);\n len -= 3;\n }\n if (len) {\n strm.output_data += strm.output_data.charAt(from_out_offset++);\n if (len > 1)\n strm.output_data += strm.output_data.charAt(from_out_offset++);\n }\n }\n }\n else if ((op & 64) == 0) { /* 2nd level distance code */\n here = codes[dcode + (here.val + (hold & ((1 << op) - 1)))];\n continue dodist; // goto dodist\n }\n else {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break loop;\n }\n break dodist; }\n }\n else if ((op & 64) == 0) { /* 2nd level length code */\n here = codes[lcode + (here.val + (hold & ((1 << op) - 1)))];\n continue dolen; // goto dolen;\n }\n else if (op & 32) { /* end-of-block */\n // Tracevv((stderr, \"inflate: end of block\\n\"));\n state.mode = TYPE;\n break loop;\n }\n else {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break loop;\n }\n break dolen; }\n } while (next_in < last && out < end);\n\n /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n len = bits >>> 3;\n next_in -= len;\n bits -= len << 3;\n hold &= (1 << bits) - 1;\n\n /* update state and return */\n strm.next_in = next_in;\n strm.next_out = out;\n strm.avail_in = (next_in < last ? 5 + (last - next_in) : 5 - (next_in - last));\n strm.avail_out = (out < end ?\n 257 + (end - out) : 257 - (out - end));\n state.hold = hold;\n state.bits = bits;\n}\n\nfunction new_array(size)\n{\n var i;\n var ary = new Array(size);\n for(i = 0; i < size; i++)\n ary[i] = 0;\n return ary;\n}\n\nfunction getarg(opts, name, def_value)\n{\n return (opts && (name in opts)) ? opts[name] : def_value;\n}\n\nfunction checksum_none()\n{\n\treturn 0;\n}\n\n/**\n * z_stream constructor\n * @constructor\n */\nfunction inflate_state()\n{\n var i;\n\n this.mode = 0; /* current inflate mode */\n this.last = 0; /* true if processing last block */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.havedict = 0; /* true if dictionary provided */\n this.flags = 0; /* gzip header method and flags (0 if zlib) */\n this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */\n this.check = 0; /* protected copy of check value */\n this.total = 0; /* protected copy of output count */\n this.head = null; /* where to save gzip header information */\n /* sliding window */\n this.wbits = 0; /* log base 2 of requested window size */\n this.wsize = 0; /* window size or zero if not using window */\n this.whave = 0; /* valid bytes in the window */\n this.wnext = 0; /* window write index (TODO remove) */\n this.window = null; /* allocated sliding window, if needed */\n /* bit accumulator */\n this.hold = 0; /* input bit accumulator */\n this.bits = 0; /* number of bits in \"in\" */\n /* for string and stored block copying */\n this.length = 0; /* literal or length of data to copy */\n this.offset = 0; /* distance back to copy string from */\n /* for table and code decoding */\n this.extra = 0; /* extra bits needed */\n /* fixed and dynamic code tables */\n\n /* zlib.js: modified implementation: lencode, distcode, next are offset of codes[] */\n this.lencode = 0; /* starting table for length/literal codes */\n this.distcode = 0; /* starting table for distance codes */\n this.lenbits = 0; /* index bits for lencode */\n this.distbits = 0; /* index bits for distcode */\n /* dynamic table building */\n this.ncode = 0; /* number of code length code lengths */\n this.nlen = 0; /* number of length code lengths */\n this.ndist = 0; /* number of distance code lengths */\n this.have = 0; /* number of code lengths in lens[] */\n this.next = 0; /* next available space in codes[] */\n this.lens = new_array(320); /* temporary storage for code lengths */\n this.work = new_array(288); /* work area for code table building */\n this.codes = new Array(ENOUGH); /* space for code tables */\n var c = {op:0, bits:0, val:0};\n for(i = 0; i < ENOUGH; i++)\n this.codes[i] = c;\n this.sane = 0; /* if false, allow invalid distance too far */\n this.back = 0; /* bits back of last unprocessed length/lit */\n this.was = 0; /* initial length of match */\n}\n\nZLIB.inflateResetKeep = function(strm)\n{\n var state;\n\n if (!strm || !strm.state) return ZLIB.Z_STREAM_ERROR;\n state = strm.state;\n strm.total_in = strm.total_out = state.total = 0;\n strm.msg = null;\n if (state.wrap) { /* to support ill-conceived Java test suite */\n strm.adler = state.wrap & 1;\n }\n\n state.mode = HEAD;\n state.last = 0;\n state.havedict = 0;\n state.dmax = 32768;\n state.head = null;\n state.hold = 0;\n state.bits = 0;\n state.lencode = 0;\n state.distcode = 0;\n state.next = 0;\n state.sane = 1;\n state.back = -1;\n return ZLIB.Z_OK;\n};\n\n// Usage: strm = ZLIB.inflateReset(z_stream [, windowBits]);\nZLIB.inflateReset = function(strm, windowBits)\n{\n var wrap;\n var state;\n\n /* get the state */\n if (!strm || !strm.state) return ZLIB.Z_STREAM_ERROR;\n state = strm.state;\n\n\tif(typeof windowBits === \"undefined\")\n\t\twindowBits = DEF_WBITS;\n\n /* extract wrap request from windowBits parameter */\n if (windowBits < 0) {\n wrap = 0;\n windowBits = -windowBits;\n }\n else {\n wrap = (windowBits >>> 4) + 1;\n if (windowBits < 48)\n windowBits &= 15;\n }\n\n\tif(wrap == 1 && (typeof ZLIB.adler32 === 'function')) {\n\t\tstrm.checksum_function = ZLIB.adler32;\n\t} else if(wrap == 2 && (typeof ZLIB.crc32 === 'function')) {\n\t\tstrm.checksum_function = ZLIB.crc32;\n\t} else {\n\t\tstrm.checksum_function = checksum_none;\n\t}\n\n /* set number of window bits, free window if different */\n if (windowBits && (windowBits < 8 || windowBits > 15))\n return ZLIB.Z_STREAM_ERROR;\n if (state.window && state.wbits != windowBits) {\n state.window = null;\n }\n\n /* update state and reset the rest of it */\n state.wrap = wrap;\n state.wbits = windowBits;\n state.wsize = 0;\n state.whave = 0;\n state.wnext = 0;\n return ZLIB.inflateResetKeep(strm);\n};\n\n// Usage: strm = ZLIB.inflateInit([windowBits]);\nZLIB.inflateInit = function(windowBits)\n{\n var strm = new ZLIB.z_stream();\n strm.state = new inflate_state();\n ZLIB.inflateReset(strm, windowBits);\n return strm;\n};\n\nZLIB.inflatePrime = function(strm, bits, value)\n{\n var state;\n\n if (!strm || !strm.state) return ZLIB.Z_STREAM_ERROR;\n state = strm.state;\n if (bits < 0) {\n state.hold = 0;\n state.bits = 0;\n return ZLIB.Z_OK;\n }\n if (bits > 16 || state.bits + bits > 32) return ZLIB.Z_STREAM_ERROR;\n value &= (1 << bits) - 1;\n state.hold += value << state.bits;\n state.bits += bits;\n return ZLIB.Z_OK;\n};\n\nvar lenfix_ary = null;\nvar distfix_ary = null;\nfunction fixedtables(state)\n{\n var i;\n if (!lenfix_ary) lenfix_ary = [ { op: 96, bits: 7, val: 0 }, { op: 0, bits: 8, val: 80 }, { op: 0, bits: 8, val: 16 }, { op: 20, bits: 8, val: 115 }, { op: 18, bits: 7, val: 31 }, { op: 0, bits: 8, val: 112 }, { op: 0, bits: 8, val: 48 }, { op: 0, bits: 9, val: 192 }, { op: 16, bits: 7, val: 10 }, { op: 0, bits: 8, val: 96 }, { op: 0, bits: 8, val: 32 }, { op: 0, bits: 9, val: 160 }, { op: 0, bits: 8, val: 0 }, { op: 0, bits: 8, val: 128 }, { op: 0, bits: 8, val: 64 }, { op: 0, bits: 9, val: 224 }, { op: 16, bits: 7, val: 6 }, { op: 0, bits: 8, val: 88 }, { op: 0, bits: 8, val: 24 }, { op: 0, bits: 9, val: 144 }, { op: 19, bits: 7, val: 59 }, { op: 0, bits: 8, val: 120 }, { op: 0, bits: 8, val: 56 }, { op: 0, bits: 9, val: 208 }, { op: 17, bits: 7, val: 17 }, { op: 0, bits: 8, val: 104 }, { op: 0, bits: 8, val: 40 }, { op: 0, bits: 9, val: 176 }, { op: 0, bits: 8, val: 8 }, { op: 0, bits: 8, val: 136 }, { op: 0, bits: 8, val: 72 }, { op: 0, bits: 9, val: 240 }, { op: 16, bits: 7, val: 4 }, { op: 0, bits: 8, val: 84 }, { op: 0, bits: 8, val: 20 }, { op: 21, bits: 8, val: 227 }, { op: 19, bits: 7, val: 43 }, { op: 0, bits: 8, val: 116 }, { op: 0, bits: 8, val: 52 }, { op: 0, bits: 9, val: 200 }, { op: 17, bits: 7, val: 13 }, { op: 0, bits: 8, val: 100 }, { op: 0, bits: 8, val: 36 }, { op: 0, bits: 9, val: 168 }, { op: 0, bits: 8, val: 4 }, { op: 0, bits: 8, val: 132 }, { op: 0, bits: 8, val: 68 }, { op: 0, bits: 9, val: 232 }, { op: 16, bits: 7, val: 8 }, { op: 0, bits: 8, val: 92 }, { op: 0, bits: 8, val: 28 }, { op: 0, bits: 9, val: 152 }, { op: 20, bits: 7, val: 83 }, { op: 0, bits: 8, val: 124 }, { op: 0, bits: 8, val: 60 }, { op: 0, bits: 9, val: 216 }, { op: 18, bits: 7, val: 23 }, { op: 0, bits: 8, val: 108 }, { op: 0, bits: 8, val: 44 }, { op: 0, bits: 9, val: 184 }, { op: 0, bits: 8, val: 12 }, { op: 0, bits: 8, val: 140 }, { op: 0, bits: 8, val: 76 }, { op: 0, bits: 9, val: 248 }, { op: 16, bits: 7, val: 3 }, { op: 0, bits: 8, val: 82 }, { op: 0, bits: 8, val: 18 }, { op: 21, bits: 8, val: 163 }, { op: 19, bits: 7, val: 35 }, { op: 0, bits: 8, val: 114 }, { op: 0, bits: 8, val: 50 }, { op: 0, bits: 9, val: 196 }, { op: 17, bits: 7, val: 11 }, { op: 0, bits: 8, val: 98 }, { op: 0, bits: 8, val: 34 }, { op: 0, bits: 9, val: 164 }, { op: 0, bits: 8, val: 2 }, { op: 0, bits: 8, val: 130 }, { op: 0, bits: 8, val: 66 }, { op: 0, bits: 9, val: 228 }, { op: 16, bits: 7, val: 7 }, { op: 0, bits: 8, val: 90 }, { op: 0, bits: 8, val: 26 }, { op: 0, bits: 9, val: 148 }, { op: 20, bits: 7, val: 67 }, { op: 0, bits: 8, val: 122 }, { op: 0, bits: 8, val: 58 }, { op: 0, bits: 9, val: 212 }, { op: 18, bits: 7, val: 19 }, { op: 0, bits: 8, val: 106 }, { op: 0, bits: 8, val: 42 }, { op: 0, bits: 9, val: 180 }, { op: 0, bits: 8, val: 10 }, { op: 0, bits: 8, val: 138 }, { op: 0, bits: 8, val: 74 }, { op: 0, bits: 9, val: 244 }, { op: 16, bits: 7, val: 5 }, { op: 0, bits: 8, val: 86 }, { op: 0, bits: 8, val: 22 }, { op: 64, bits: 8, val: 0 }, { op: 19, bits: 7, val: 51 }, { op: 0, bits: 8, val: 118 }, { op: 0, bits: 8, val: 54 }, { op: 0, bits: 9, val: 204 }, { op: 17, bits: 7, val: 15 }, { op: 0, bits: 8, val: 102 }, { op: 0, bits: 8, val: 38 }, { op: 0, bits: 9, val: 172 }, { op: 0, bits: 8, val: 6 }, { op: 0, bits: 8, val: 134 }, { op: 0, bits: 8, val: 70 }, { op: 0, bits: 9, val: 236 }, { op: 16, bits: 7, val: 9 }, { op: 0, bits: 8, val: 94 }, { op: 0, bits: 8, val: 30 }, { op: 0, bits: 9, val: 156 }, { op: 20, bits: 7, val: 99 }, { op: 0, bits: 8, val: 126 }, { op: 0, bits: 8, val: 62 }, { op: 0, bits: 9, val: 220 }, { op: 18, bits: 7, val: 27 }, { op: 0, bits: 8, val: 110 }, { op: 0, bits: 8, val: 46 }, { op: 0, bits: 9, val: 188 }, { op: 0, bits: 8, val: 14 }, { op: 0, bits: 8, val: 142 }, { op: 0, bits: 8, val: 78 }, { op: 0, bits: 9, val: 252 }, { op: 96, bits: 7, val: 0 }, { op: 0, bits: 8, val: 81 }, { op: 0, bits: 8, val: 17 }, { op: 21, bits: 8, val: 131 }, { op: 18, bits: 7, val: 31 }, { op: 0, bits: 8, val: 113 }, { op: 0, bits: 8, val: 49 }, { op: 0, bits: 9, val: 194 }, { op: 16, bits: 7, val: 10 }, { op: 0, bits: 8, val: 97 }, { op: 0, bits: 8, val: 33 }, { op: 0, bits: 9, val: 162 }, { op: 0, bits: 8, val: 1 }, { op: 0, bits: 8, val: 129 }, { op: 0, bits: 8, val: 65 }, { op: 0, bits: 9, val: 226 }, { op: 16, bits: 7, val: 6 }, { op: 0, bits: 8, val: 89 }, { op: 0, bits: 8, val: 25 }, { op: 0, bits: 9, val: 146 }, { op: 19, bits: 7, val: 59 }, { op: 0, bits: 8, val: 121 }, { op: 0, bits: 8, val: 57 }, { op: 0, bits: 9, val: 210 }, { op: 17, bits: 7, val: 17 }, { op: 0, bits: 8, val: 105 }, { op: 0, bits: 8, val: 41 }, { op: 0, bits: 9, val: 178 }, { op: 0, bits: 8, val: 9 }, { op: 0, bits: 8, val: 137 }, { op: 0, bits: 8, val: 73 }, { op: 0, bits: 9, val: 242 }, { op: 16, bits: 7, val: 4 }, { op: 0, bits: 8, val: 85 }, { op: 0, bits: 8, val: 21 }, { op: 16, bits: 8, val: 258 }, { op: 19, bits: 7, val: 43 }, { op: 0, bits: 8, val: 117 }, { op: 0, bits: 8, val: 53 }, { op: 0, bits: 9, val: 202 }, { op: 17, bits: 7, val: 13 }, { op: 0, bits: 8, val: 101 }, { op: 0, bits: 8, val: 37 }, { op: 0, bits: 9, val: 170 }, { op: 0, bits: 8, val: 5 }, { op: 0, bits: 8, val: 133 }, { op: 0, bits: 8, val: 69 }, { op: 0, bits: 9, val: 234 }, { op: 16, bits: 7, val: 8 }, { op: 0, bits: 8, val: 93 }, { op: 0, bits: 8, val: 29 }, { op: 0, bits: 9, val: 154 }, { op: 20, bits: 7, val: 83 }, { op: 0, bits: 8, val: 125 }, { op: 0, bits: 8, val: 61 }, { op: 0, bits: 9, val: 218 }, { op: 18, bits: 7, val: 23 }, { op: 0, bits: 8, val: 109 }, { op: 0, bits: 8, val: 45 }, { op: 0, bits: 9, val: 186 }, { op: 0, bits: 8, val: 13 }, { op: 0, bits: 8, val: 141 }, { op: 0, bits: 8, val: 77 }, { op: 0, bits: 9, val: 250 }, { op: 16, bits: 7, val: 3 }, { op: 0, bits: 8, val: 83 }, { op: 0, bits: 8, val: 19 }, { op: 21, bits: 8, val: 195 }, { op: 19, bits: 7, val: 35 }, { op: 0, bits: 8, val: 115 }, { op: 0, bits: 8, val: 51 }, { op: 0, bits: 9, val: 198 }, { op: 17, bits: 7, val: 11 }, { op: 0, bits: 8, val: 99 }, { op: 0, bits: 8, val: 35 }, { op: 0, bits: 9, val: 166 }, { op: 0, bits: 8, val: 3 }, { op: 0, bits: 8, val: 131 }, { op: 0, bits: 8, val: 67 }, { op: 0, bits: 9, val: 230 }, { op: 16, bits: 7, val: 7 }, { op: 0, bits: 8, val: 91 }, { op: 0, bits: 8, val: 27 }, { op: 0, bits: 9, val: 150 }, { op: 20, bits: 7, val: 67 }, { op: 0, bits: 8, val: 123 }, { op: 0, bits: 8, val: 59 }, { op: 0, bits: 9, val: 214 }, { op: 18, bits: 7, val: 19 }, { op: 0, bits: 8, val: 107 }, { op: 0, bits: 8, val: 43 }, { op: 0, bits: 9, val: 182 }, { op: 0, bits: 8, val: 11 }, { op: 0, bits: 8, val: 139 }, { op: 0, bits: 8, val: 75 }, { op: 0, bits: 9, val: 246 }, { op: 16, bits: 7, val: 5 }, { op: 0, bits: 8, val: 87 }, { op: 0, bits: 8, val: 23 }, { op: 64, bits: 8, val: 0 }, { op: 19, bits: 7, val: 51 }, { op: 0, bits: 8, val: 119 }, { op: 0, bits: 8, val: 55 }, { op: 0, bits: 9, val: 206 }, { op: 17, bits: 7, val: 15 }, { op: 0, bits: 8, val: 103 }, { op: 0, bits: 8, val: 39 }, { op: 0, bits: 9, val: 174 }, { op: 0, bits: 8, val: 7 }, { op: 0, bits: 8, val: 135 }, { op: 0, bits: 8, val: 71 }, { op: 0, bits: 9, val: 238 }, { op: 16, bits: 7, val: 9 }, { op: 0, bits: 8, val: 95 }, { op: 0, bits: 8, val: 31 }, { op: 0, bits: 9, val: 158 }, { op: 20, bits: 7, val: 99 }, { op: 0, bits: 8, val: 127 }, { op: 0, bits: 8, val: 63 }, { op: 0, bits: 9, val: 222 }, { op: 18, bits: 7, val: 27 }, { op: 0, bits: 8, val: 111 }, { op: 0, bits: 8, val: 47 }, { op: 0, bits: 9, val: 190 }, { op: 0, bits: 8, val: 15 }, { op: 0, bits: 8, val: 143 }, { op: 0, bits: 8, val: 79 }, { op: 0, bits: 9, val: 254 }, { op: 96, bits: 7, val: 0 }, { op: 0, bits: 8, val: 80 }, { op: 0, bits: 8, val: 16 }, { op: 20, bits: 8, val: 115 }, { op: 18, bits: 7, val: 31 }, { op: 0, bits: 8, val: 112 }, { op: 0, bits: 8, val: 48 }, { op: 0, bits: 9, val: 193 }, { op: 16, bits: 7, val: 10 }, { op: 0, bits: 8, val: 96 }, { op: 0, bits: 8, val: 32 }, { op: 0, bits: 9, val: 161 }, { op: 0, bits: 8, val: 0 }, { op: 0, bits: 8, val: 128 }, { op: 0, bits: 8, val: 64 }, { op: 0, bits: 9, val: 225 }, { op: 16, bits: 7, val: 6 }, { op: 0, bits: 8, val: 88 }, { op: 0, bits: 8, val: 24 }, { op: 0, bits: 9, val: 145 }, { op: 19, bits: 7, val: 59 }, { op: 0, bits: 8, val: 120 }, { op: 0, bits: 8, val: 56 }, { op: 0, bits: 9, val: 209 }, { op: 17, bits: 7, val: 17 }, { op: 0, bits: 8, val: 104 }, { op: 0, bits: 8, val: 40 }, { op: 0, bits: 9, val: 177 }, { op: 0, bits: 8, val: 8 }, { op: 0, bits: 8, val: 136 }, { op: 0, bits: 8, val: 72 }, { op: 0, bits: 9, val: 241 }, { op: 16, bits: 7, val: 4 }, { op: 0, bits: 8, val: 84 }, { op: 0, bits: 8, val: 20 }, { op: 21, bits: 8, val: 227 }, { op: 19, bits: 7, val: 43 }, { op: 0, bits: 8, val: 116 }, { op: 0, bits: 8, val: 52 }, { op: 0, bits: 9, val: 201 }, { op: 17, bits: 7, val: 13 }, { op: 0, bits: 8, val: 100 }, { op: 0, bits: 8, val: 36 }, { op: 0, bits: 9, val: 169 }, { op: 0, bits: 8, val: 4 }, { op: 0, bits: 8, val: 132 }, { op: 0, bits: 8, val: 68 }, { op: 0, bits: 9, val: 233 }, { op: 16, bits: 7, val: 8 }, { op: 0, bits: 8, val: 92 }, { op: 0, bits: 8, val: 28 }, { op: 0, bits: 9, val: 153 }, { op: 20, bits: 7, val: 83 }, { op: 0, bits: 8, val: 124 }, { op: 0, bits: 8, val: 60 }, { op: 0, bits: 9, val: 217 }, { op: 18, bits: 7, val: 23 }, { op: 0, bits: 8, val: 108 }, { op: 0, bits: 8, val: 44 }, { op: 0, bits: 9, val: 185 }, { op: 0, bits: 8, val: 12 }, { op: 0, bits: 8, val: 140 }, { op: 0, bits: 8, val: 76 }, { op: 0, bits: 9, val: 249 }, { op: 16, bits: 7, val: 3 }, { op: 0, bits: 8, val: 82 }, { op: 0, bits: 8, val: 18 }, { op: 21, bits: 8, val: 163 }, { op: 19, bits: 7, val: 35 }, { op: 0, bits: 8, val: 114 }, { op: 0, bits: 8, val: 50 }, { op: 0, bits: 9, val: 197 }, { op: 17, bits: 7, val: 11 }, { op: 0, bits: 8, val: 98 }, { op: 0, bits: 8, val: 34 }, { op: 0, bits: 9, val: 165 }, { op: 0, bits: 8, val: 2 }, { op: 0, bits: 8, val: 130 }, { op: 0, bits: 8, val: 66 }, { op: 0, bits: 9, val: 229 }, { op: 16, bits: 7, val: 7 }, { op: 0, bits: 8, val: 90 }, { op: 0, bits: 8, val: 26 }, { op: 0, bits: 9, val: 149 }, { op: 20, bits: 7, val: 67 }, { op: 0, bits: 8, val: 122 }, { op: 0, bits: 8, val: 58 },{ op: 0, bits: 9, val: 213 }, { op: 18, bits: 7, val: 19 }, { op: 0, bits: 8, val: 106 }, { op: 0, bits: 8, val: 42 }, { op: 0, bits: 9, val: 181 }, { op: 0, bits: 8, val: 10 }, { op: 0, bits: 8, val: 138 },{ op: 0, bits: 8, val: 74 }, { op: 0, bits: 9, val: 245 }, { op: 16, bits: 7, val: 5 }, { op: 0, bits: 8, val: 86 }, { op: 0, bits: 8, val: 22 }, { op: 64, bits: 8, val: 0 }, { op: 19, bits: 7, val: 51 },{ op: 0, bits: 8, val: 118 }, { op: 0, bits: 8, val: 54 }, { op: 0, bits: 9, val: 205 }, { op: 17, bits: 7, val: 15 }, { op: 0, bits: 8, val: 102 }, { op: 0, bits: 8, val: 38 }, { op: 0, bits: 9, val: 173 },{ op: 0, bits: 8, val: 6 }, { op: 0, bits: 8, val: 134 }, { op: 0, bits: 8, val: 70 }, { op: 0, bits: 9, val: 237 }, { op: 16, bits: 7, val: 9 }, { op: 0, bits: 8, val: 94 }, { op: 0, bits: 8, val: 30 },{ op: 0, bits: 9, val: 157 }, { op: 20, bits: 7, val: 99 }, { op: 0, bits: 8, val: 126 }, { op: 0, bits: 8, val: 62 }, { op: 0, bits: 9, val: 221 }, { op: 18, bits: 7, val: 27 }, { op: 0, bits: 8, val: 110 }, { op: 0, bits: 8, val: 46 }, { op: 0, bits: 9, val: 189 }, { op: 0, bits: 8, val: 14 }, { op: 0, bits: 8, val: 142 }, { op: 0, bits: 8, val: 78 }, { op: 0, bits: 9, val: 253 }, { op: 96, bits: 7, val: 0 }, { op: 0, bits: 8, val: 81 }, { op: 0, bits: 8, val: 17 }, { op: 21, bits: 8, val: 131 }, { op: 18, bits: 7, val: 31 }, { op: 0, bits: 8, val: 113 }, { op: 0, bits: 8, val: 49 }, { op: 0, bits: 9, val: 195 }, { op: 16, bits: 7, val: 10 }, { op: 0, bits: 8, val: 97 }, { op: 0, bits: 8, val: 33 }, { op: 0, bits: 9, val: 163 }, { op: 0, bits: 8, val: 1 }, { op: 0, bits: 8, val: 129 }, { op: 0, bits: 8, val: 65 }, { op: 0, bits: 9, val: 227 }, { op: 16, bits: 7, val: 6 }, { op: 0, bits: 8, val: 89 }, { op: 0, bits: 8, val: 25 }, { op: 0, bits: 9, val: 147 }, { op: 19, bits: 7, val: 59 }, { op: 0, bits: 8, val: 121 }, { op: 0, bits: 8, val: 57 }, { op: 0, bits: 9, val: 211 }, { op: 17, bits: 7, val: 17 }, { op: 0, bits: 8, val: 105 }, { op: 0, bits: 8, val: 41 }, { op: 0, bits: 9, val: 179 }, { op: 0, bits: 8, val: 9 },{ op: 0, bits: 8, val: 137 }, { op: 0, bits: 8, val: 73 }, { op: 0, bits: 9, val: 243 }, { op: 16, bits: 7, val: 4 }, { op: 0, bits: 8, val: 85 }, { op: 0, bits: 8, val: 21 }, { op: 16, bits: 8, val: 258 },{ op: 19, bits: 7, val: 43 }, { op: 0, bits: 8, val: 117 }, { op: 0, bits: 8, val: 53 }, { op: 0, bits: 9, val: 203 }, { op: 17, bits: 7, val: 13 }, { op: 0, bits: 8, val: 101 }, { op: 0, bits: 8, val: 37 },{ op: 0, bits: 9, val: 171 }, { op: 0, bits: 8, val: 5 }, { op: 0, bits: 8, val: 133 }, { op: 0, bits: 8, val: 69 }, { op: 0, bits: 9, val: 235 }, { op: 16, bits: 7, val: 8 }, { op: 0, bits: 8, val: 93 },{ op: 0, bits: 8, val: 29 }, { op: 0, bits: 9, val: 155 }, { op: 20, bits: 7, val: 83 }, { op: 0, bits: 8, val: 125 }, { op: 0, bits: 8, val: 61 }, { op: 0, bits: 9, val: 219 }, { op: 18, bits: 7, val: 23 },{ op: 0, bits: 8, val: 109 }, { op: 0, bits: 8, val: 45 }, { op: 0, bits: 9, val: 187 }, { op: 0, bits: 8, val: 13 }, { op: 0, bits: 8, val: 141 }, { op: 0, bits: 8, val: 77 }, { op: 0, bits: 9, val: 251 }, { op: 16, bits: 7, val: 3 }, { op: 0, bits: 8, val: 83 }, { op: 0, bits: 8, val: 19 }, { op: 21, bits: 8, val: 195 }, { op: 19, bits: 7, val: 35 }, { op: 0, bits: 8, val: 115 }, { op: 0, bits: 8, val: 51 }, { op: 0, bits: 9, val: 199 }, { op: 17, bits: 7, val: 11 }, { op: 0, bits: 8, val: 99 }, { op: 0, bits: 8, val: 35 }, { op: 0, bits: 9, val: 167 }, { op: 0, bits: 8, val: 3 }, { op: 0, bits: 8, val: 131 }, { op: 0, bits: 8, val: 67 }, { op: 0, bits: 9, val: 231 }, { op: 16, bits: 7, val: 7 }, { op: 0, bits: 8, val: 91 }, { op: 0, bits: 8, val: 27 }, { op: 0, bits: 9, val: 151 }, { op: 20, bits: 7, val: 67 }, { op: 0, bits: 8, val: 123 }, { op: 0, bits: 8, val: 59 }, { op: 0, bits: 9, val: 215 }, { op: 18, bits: 7, val: 19 }, { op: 0, bits: 8, val: 107 }, { op: 0, bits: 8, val: 43 }, { op: 0, bits: 9, val: 183 }, { op: 0, bits: 8, val: 11 }, { op: 0, bits: 8, val: 139 }, { op: 0, bits: 8, val: 75 }, { op: 0, bits: 9, val: 247 }, { op: 16, bits: 7, val: 5 }, { op: 0, bits: 8, val: 87 }, { op: 0, bits: 8, val: 23 }, { op: 64, bits: 8, val: 0 }, { op: 19, bits: 7, val: 51 }, { op: 0, bits: 8, val: 119 }, { op: 0, bits: 8, val: 55 }, { op: 0, bits: 9, val: 207 }, { op: 17, bits: 7, val: 15 }, { op: 0, bits: 8, val: 103 }, { op: 0, bits: 8, val: 39 }, { op: 0, bits: 9, val: 175 }, { op: 0, bits: 8, val: 7 }, { op: 0, bits: 8, val: 135 }, { op: 0, bits: 8, val: 71 }, { op: 0, bits: 9, val: 239 }, { op: 16, bits: 7, val: 9 }, { op: 0, bits: 8, val: 95 }, { op: 0, bits: 8, val: 31 }, { op: 0, bits: 9, val: 159 }, { op: 20, bits: 7, val: 99 }, { op: 0, bits: 8, val: 127 }, { op: 0, bits: 8, val: 63 }, { op: 0, bits: 9, val: 223 }, { op: 18, bits: 7, val: 27 }, { op: 0, bits: 8, val: 111 }, { op: 0, bits: 8, val: 47 }, { op: 0, bits: 9, val: 191 }, { op: 0, bits: 8, val: 15 }, { op: 0, bits: 8, val: 143 }, { op: 0, bits: 8, val: 79 }, { op: 0, bits: 9, val: 255 } ];\n if (!distfix_ary) distfix_ary = [ { op: 16, bits: 5, val: 1 }, { op: 23, bits: 5, val: 257 }, { op: 19, bits: 5, val: 17 }, { op: 27, bits: 5, val: 4097 }, { op: 17, bits: 5, val: 5 }, { op: 25, bits: 5, val: 1025 }, { op: 21, bits: 5, val: 65 }, { op: 29, bits: 5, val: 16385 }, { op: 16, bits: 5, val: 3 }, { op: 24, bits: 5, val: 513 }, { op: 20, bits: 5, val: 33 }, { op: 28, bits: 5, val: 8193 }, { op: 18, bits: 5, val: 9 }, { op: 26, bits: 5, val: 2049 }, { op: 22, bits: 5, val: 129 }, { op: 64, bits: 5, val: 0 }, { op: 16, bits: 5, val: 2 }, { op: 23, bits: 5, val: 385 }, { op: 19, bits: 5, val: 25 }, { op: 27, bits: 5, val: 6145 }, { op: 17, bits: 5, val: 7 }, { op: 25, bits: 5, val: 1537 }, { op: 21, bits: 5, val: 97 }, { op: 29, bits: 5, val: 24577 }, { op: 16, bits: 5, val: 4 }, { op: 24, bits: 5, val: 769 }, { op: 20, bits: 5, val: 49 }, { op: 28, bits: 5, val: 12289 }, { op: 18, bits: 5, val: 13 }, { op: 26, bits: 5, val: 3073 }, { op: 22, bits: 5, val: 193 }, { op: 64, bits: 5, val: 0 } ];\n state.lencode = 0;\n state.distcode = 512;\n for (i = 0; i < 512; i++) { state.codes[i] = lenfix_ary[i]; }\n for (i = 0; i < 32; i++) { state.codes[i + 512] = distfix_ary[i]; }\n state.lenbits = 9;\n state.distbits = 5;\n}\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning. If window does not exist yet, create it. This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n*/\nfunction updatewindow(strm)\n{\n var state = strm.state;\n\tvar out = strm.output_data.length;\n\n /* if it hasn't been done already, allocate space for the window */\n if (state.window === null) {\n state.window = '';\n\t}\n\n /* if window not in use yet, initialize */\n if (state.wsize == 0) {\n state.wsize = 1 << state.wbits;\n\t}\n\n // zlib.js: Sliding window\n if (out >= state.wsize) {\n state.window = strm.output_data.substring(out - state.wsize);\n\t} else {\n\t\tif(state.whave + out < state.wsize) {\n\t\t\tstate.window += strm.output_data;\n\t\t} else {\n\t\t\tstate.window = state.window.substring(state.whave - (state.wsize - out)) + strm.output_data;\n\t\t}\n\t}\n state.whave = state.window.length;\n\tif(state.whave < state.wsize) {\n\t\tstate.wnext = state.whave;\n\t} else {\n\t\tstate.wnext = 0;\n\t}\n return 0;\n}\n\n\n// #ifdef GUNZIP\nfunction CRC2(strm, word)\n{\n\tvar hbuf = [word & 0xff, (word >>> 8) & 0xff];\n\tstrm.state.check = strm.checksum_function(strm.state.check, hbuf, 0, 2);\n}\n\nfunction CRC4(strm, word)\n{\n\tvar hbuf = [word & 0xff,\n\t\t\t\t(word >>> 8) & 0xff,\n\t\t\t\t(word >>> 16) & 0xff,\n\t\t\t\t(word >>> 24) & 0xff];\n\tstrm.state.check = strm.checksum_function(strm.state.check, hbuf, 0, 4);\n}\n\n/* Load registers with state in inflate() for speed */\nfunction LOAD(strm, s)\n{\n s.strm = strm; /* z_stream */\n s.left = strm.avail_out; /* available output */\n s.next = strm.next_in; /* next input */\n s.have = strm.avail_in; /* available input */\n s.hold = strm.state.hold; /* bit buffer */\n s.bits = strm.state.bits; /* bits in bit buffer */\n return s;\n}\n\n/* Restore state from registers in inflate() */\nfunction RESTORE(s)\n{\n var strm = s.strm;\n strm.next_in = s.next;\n strm.avail_out = s.left;\n strm.avail_in = s.have;\n strm.state.hold = s.hold;\n strm.state.bits = s.bits;\n}\n\n/* Clear the input bit accumulator */\nfunction INITBITS(s)\n{\n s.hold = 0;\n s.bits = 0;\n}\n\n/* Get a byte of input into the bit accumulator, or return from inflate()\n if there is no input available. */\nfunction PULLBYTE(s)\n{\n if (s.have == 0) return false;\n s.have--;\n s.hold += (s.strm.input_data.charCodeAt(s.next++) & 0xff) << s.bits;\n s.bits += 8;\n return true;\n}\n\n/* Assure that there are at least n bits in the bit accumulator. If there is\n not enough available input to do that, then return from inflate(). */\nfunction NEEDBITS(s, n)\n{\n // if(typeof n != 'number') throw 'ERROR';\n while (s.bits < n) {\n if(!PULLBYTE(s))\n return false;\n }\n return true;\n}\n\n/* Return the low n bits of the bit accumulator (n < 16) */\nfunction BITS(s, n)\n{\n return s.hold & ((1 << n) - 1);\n}\n\n/* Remove n bits from the bit accumulator */\nfunction DROPBITS(s, n)\n{\n // if(typeof n != 'number') throw 'ERROR';\n s.hold >>>= n;\n s.bits -= n;\n}\n\n/* Remove zero to seven bits as needed to go to a byte boundary */\nfunction BYTEBITS(s)\n{\n s.hold >>>= s.bits & 7;\n s.bits -= s.bits & 7;\n}\n\n/* Reverse the bytes in a 32-bit value */\nfunction REVERSE(q)\n{\n return ((q >>> 24) & 0xff) +\n\t\t((q >>> 8) & 0xff00) +\n\t\t((q & 0xff00) << 8) +\n\t\t((q & 0xff) << 24);\n}\n\n/*\n inflate() uses a state machine to process as much input data and generate as\n much output data as possible before returning. The state machine is\n structured roughly as follows:\n\n for (;;) switch (state) {\n ...\n case STATEn:\n if (not enough input data or output space to make progress)\n return;\n ... make progress ...\n state = STATEm;\n break;\n ...\n }\n\n so when inflate() is called again, the same case is attempted again, and\n if the appropriate resources are provided, the machine proceeds to the\n next state. The NEEDBITS() macro is usually the way the state evaluates\n whether it can proceed or should return. NEEDBITS() does the return if\n the requested bits are not available. The typical use of the BITS macros\n is:\n\n NEEDBITS(n);\n ... do something with BITS(n) ...\n DROPBITS(n);\n\n where NEEDBITS(n) either returns from inflate() if there isn't enough\n input left to load n bits into the accumulator, or it continues. BITS(n)\n gives the low n bits in the accumulator. When done, DROPBITS(n) drops\n the low n bits off the accumulator. INITBITS() clears the accumulator\n and sets the number of available bits to zero. BYTEBITS() discards just\n enough bits to put the accumulator on a byte boundary. After BYTEBITS()\n and a NEEDBITS(8), then BITS(8) would return the next byte in the stream.\n\n NEEDBITS(n) uses PULLBYTE() to get an available byte of input, or to return\n if there is no input available. The decoding of variable length codes uses\n PULLBYTE() directly in order to pull just enough bytes to decode the next\n code, and no more.\n\n Some states loop until they get enough input, making sure that enough\n state information is maintained to continue the loop where it left off\n if NEEDBITS() returns in the loop. For example, want, need, and keep\n would all have to actually be part of the saved state in case NEEDBITS()\n returns:\n\n case STATEw:\n while (want < need) {\n NEEDBITS(n);\n keep[want++] = BITS(n);\n DROPBITS(n);\n }\n state = STATEx;\n case STATEx:\n\n As shown above, if the next state is also the next case, then the break\n is omitted.\n\n A state may also return if there is not enough output space available to\n complete that state. Those states are copying stored data, writing a\n literal byte, and copying a matching string.\n\n When returning, a \"goto inf_leave\" is used to update the total counters,\n update the check value, and determine whether any progress has been made\n during that inflate() call in order to return the proper return code.\n Progress is defined as a change in either strm->avail_in or strm->avail_out.\n When there is a window, goto inf_leave will update the window with the last\n output written. If a goto inf_leave occurs in the middle of decompression\n and there is no window currently, goto inf_leave will create one and copy\n output to the window for the next call of inflate().\n\n In this implementation, the flush parameter of inflate() only affects the\n return code (per zlib.h). inflate() always writes as much as possible to\n strm->next_out, given the space available and the provided input--the effect\n documented in zlib.h of Z_SYNC_FLUSH. Furthermore, inflate() always defers\n the allocation of and copying into a sliding window until necessary, which\n provides the effect documented in zlib.h for Z_FINISH when the entire input\n stream available. So the only thing the flush parameter actually does is:\n when flush is set to Z_FINISH, inflate() cannot return Z_OK. Instead it\n will return Z_BUF_ERROR if it has not reached the end of the stream.\n */\n\n/* permutation of code lengths */\nvar inflate_order = [\n 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\nZLIB.inflate = function(strm, flush)\n{\n var state;\n var s;\n var _in, out; /* save starting available input and output */\n var copy; /* number of stored or match bytes to copy */\n var from_window_offset = -1; /* index of window[] */\n var from_out_offset = -1; /* index of next_out[] */\n var here; /* current decoding table entry */\n var last; /* parent table entry */\n var len; /* length to copy for repeats, bits to drop */\n var ret; /* return code */\n\n if (!strm || !strm.state ||\n (!strm.input_data && strm.avail_in != 0))\n return ZLIB.Z_STREAM_ERROR;\n\n state = strm.state;\n if (state.mode == TYPE) state.mode = TYPEDO; /* skip check */\n\n // LOAD\n s = {};\n LOAD(strm, s);\n\n _in = s.have;\n out = s.left;\n ret = ZLIB.Z_OK;\ninf_leave: for (;;) {\n switch (state.mode) {\n case HEAD:\n if (state.wrap == 0) {\n state.mode = TYPEDO;\n break;\n }\n if(!NEEDBITS(s, 16)) break inf_leave;\n// #ifdef GUNZIP\n if ((state.wrap & 2) && s.hold == 0x8b1f) { /* gzip header */\n state.check = strm.checksum_function(0, null, 0, 0);\n CRC2(strm, s.hold);\n INITBITS(s);\n state.mode = FLAGS;\n break;\n }\n state.flags = 0; /* expect zlib header */\n if (state.head !== null)\n state.head.done = -1;\n if (!(state.wrap & 1) || /* check if zlib header allowed */\n//#else\n// if (\n//#endif\n ((BITS(s, 8) << 8) + (s.hold >>> 8)) % 31) {\n strm.msg = 'incorrect header check';\n state.mode = BAD;\n break;\n }\n if (BITS(s, 4) != ZLIB.Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n\n DROPBITS(s, 4);\n len = BITS(s, 4) + 8;\n if (state.wbits == 0)\n state.wbits = len;\n else if (len > state.wbits) {\n strm.msg = 'invalid window size';\n state.mode = BAD;\n break;\n }\n state.dmax = 1 << len;\n// Tracev((stderr, \"inflate: zlib header ok\\n\"));\n\t\t\tstrm.adler = state.check = strm.checksum_function(0, null, 0, 0);\n state.mode = s.hold & 0x200 ? DICTID : TYPE;\n INITBITS(s);\n break;\n// #ifdef GUNZIP\n case FLAGS:\n if(!NEEDBITS(s, 16)) break inf_leave;\n state.flags = s.hold;\n if ((state.flags & 0xff) != ZLIB.Z_DEFLATED) {\n strm.msg = \"unknown compression method\";\n state.mode = BAD;\n break;\n }\n if (state.flags & 0xe000) {\n strm.msg = \"unknown header flags set\";\n state.mode = BAD;\n break;\n }\n if (state.head !== null)\n state.head.text = (s.hold >>> 8) & 1;\n if (state.flags & 0x0200) {\n\t\t\t\tCRC2(strm, s.hold);\n\t\t\t}\n INITBITS(s);\n state.mode = TIME;\n case TIME:\n if(!NEEDBITS(s, 32)) break inf_leave;\n if (state.head !== null)\n state.head.time = s.hold;\n if (state.flags & 0x0200) {\n\t\t\t\tCRC4(strm, s.hold);\n\t\t\t}\n INITBITS(s);\n state.mode = OS;\n case OS:\n if(!NEEDBITS(s, 16)) break inf_leave;\n if (state.head !== null) {\n state.head.xflags = s.hold & 0xff;\n state.head.os = s.hold >>> 8;\n }\n if (state.flags & 0x0200) {\n\t\t\t\tCRC2(strm, s.hold);\n\t\t\t}\n INITBITS(s);\n state.mode = EXLEN;\n case EXLEN:\n if (state.flags & 0x0400) {\n if(!NEEDBITS(s, 16)) break inf_leave;\n state.length = s.hold;\n if (state.head !== null) {\n state.head.extra_len = s.hold;\n\t\t\t\t}\n if (state.flags & 0x0200) {\n\t\t\t\t\tCRC2(strm, s.hold);\n\t\t\t\t}\n INITBITS(s);\n\t\t\t\tstate.head.extra = \"\";\n }\n else if (state.head !== null) {\n state.head.extra = null;\n\t\t\t}\n state.mode = EXTRA;\n case EXTRA:\n if (state.flags & 0x0400) {\n copy = state.length;\n if (copy > s.have) copy = s.have;\n if (copy) {\n if (state.head !== null &&\n state.head.extra !== null) {\n len = state.head.extra_len - state.length;\n/*\n zmemcpy(state->head->extra + len, next,\n len + copy > state->head->extra_max ?\n state->head->extra_max - len : copy);\n*/\n\t\t\t\t\t\tstate.head.extra += strm.input_data.substring(\n\t\t\t\t\t\t\ts.next, s.next + (len + copy > state.head.extra_max ?\n\t\t\t\t\t\t\t\t\t\t\t state.head.extra_max - len : copy));\n\t\t\t\t\t\t\n }\n if (state.flags & 0x0200)\n state.check = strm.checksum_function(state.check, strm.input_data, s.next, copy);\n s.have -= copy;\n s.next += copy;\n state.length -= copy;\n }\n if (state.length) break inf_leave;\n }\n state.length = 0;\n state.mode = NAME;\n case NAME:\n if (state.flags & 0x0800) {\n if (s.have == 0) break inf_leave;\n\t\t\t\tif (state.head !== null && state.head.name === null) {\n\t\t\t\t\tstate.head.name = \"\";\n\t\t\t\t}\n copy = 0;\n\t\t\t\t// TODO end = strm.input_data.indexOf(\"\\0\", s.next);\n\t\t\t\t// TODO state.length => state.head.name.length\n do {\n len = strm.input_data.charAt(s.next + copy); copy++;\n\t\t\t\t\tif(len === \"\\0\")\n\t\t\t\t\t\tbreak;\n if (state.head !== null &&\n\t\t\t\t\t\tstate.length < state.head.name_max) {\n state.head.name += len;\n\t\t\t\t\t\tstate.length++;\n\t\t\t\t\t}\n } while (copy < s.have);\n if (state.flags & 0x0200) {\n state.check = strm.checksum_function(state.check, strm.input_data, s.next, copy);\n\t\t\t\t}\n s.have -= copy;\n s.next += copy;\n if (len !== \"\\0\") break inf_leave;\n }\n else if (state.head !== null)\n state.head.name = null;\n state.length = 0;\n state.mode = COMMENT;\n case COMMENT:\n if (state.flags & 0x1000) {\n if (s.have == 0) break inf_leave;\n copy = 0;\n\t\t\t\tif (state.head !== null && state.head.comment === null) {\n\t\t\t\t\tstate.head.comment = \"\";\n\t\t\t\t}\n\t\t\t\t// TODO end = strm.input_data.indexOf(\"\\0\", s.next);\n\t\t\t\t// TODO state.length => state.head.comment.length\n do {\n len = strm.input_data.charAt(s.next + copy); copy++;\n\t\t\t\t\tif(len === \"\\0\")\n\t\t\t\t\t\tbreak;\n if (state.head !== null &&\n\t\t\t\t\t\tstate.length < state.head.comm_max) {\n state.head.comment += len;\n\t\t\t\t\t\tstate.length++;\n\t\t\t\t\t}\n } while (copy < s.have);\n if (state.flags & 0x0200)\n state.check = strm.checksum_function(state.check, strm.input_data, s.next, copy);\n s.have -= copy;\n s.next += copy;\n if (len !== \"\\0\") break inf_leave;\n }\n else if (state.head !== null)\n state.head.comment = null;\n state.mode = HCRC;\n case HCRC:\n if (state.flags & 0x0200) {\n if(!NEEDBITS(s, 16)) break inf_leave;\n if (s.hold != (state.check & 0xffff)) {\n strm.msg = \"header crc mismatch\";\n state.mode = BAD;\n break;\n }\n INITBITS(s);\n }\n if (state.head !== null) {\n state.head.hcrc = (state.flags >>> 9) & 1;\n state.head.done = 1;\n }\n strm.adler = state.check = strm.checksum_function(0, null, 0, 0);\n state.mode = TYPE;\n break;\n//#endif\n case DICTID:\n if(!NEEDBITS(s, 32)) break inf_leave;\n strm.adler = state.check = REVERSE(s.hold);\n INITBITS(s);\n state.mode = DICT;\n case DICT:\n if (state.havedict == 0) {\n RESTORE(s);\n return ZLIB.Z_NEED_DICT;\n }\n\t\t\tstrm.adler = state.check = strm.checksum_function(0, null, 0, 0);\n state.mode = TYPE;\n case TYPE:\n if (flush == ZLIB.Z_BLOCK || flush == ZLIB.Z_TREES) break inf_leave;\n case TYPEDO:\n if (state.last) {\n BYTEBITS(s);\n state.mode = CHECK;\n break;\n }\n if(!NEEDBITS(s, 3)) break inf_leave;\n state.last = BITS(s, 1);\n DROPBITS(s, 1);\n switch (BITS(s, 2)) {\n case 0: /* stored block */\n// Tracev((stderr, \"inflate: stored block%s\\n\",\n// state->last ? \" (last)\" : \"\"));\n state.mode = STORED;\n break;\n case 1: /* fixed block */\n fixedtables(state);\n// Tracev((stderr, \"inflate: fixed codes block%s\\n\",\n// state->last ? \" (last)\" : \"\"));\n state.mode = LEN_; /* decode codes */\n if (flush == ZLIB.Z_TREES) {\n DROPBITS(s, 2);\n break inf_leave;\n }\n break;\n case 2: /* dynamic block */\n// Tracev((stderr, \"inflate: dynamic codes block%s\\n\",\n// state->last ? \" (last)\" : \"\"));\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = 'invalid block type';\n state.mode = BAD;\n }\n DROPBITS(s, 2);\n break;\n case STORED:\n BYTEBITS(s); /* go to byte boundary */\n if(!NEEDBITS(s, 32)) break inf_leave;\n if ((s.hold & 0xffff) != (((s.hold >>> 16) & 0xffff) ^ 0xffff)) {\n strm.msg = 'invalid stored block lengths';\n state.mode = BAD;\n break;\n }\n state.length = s.hold & 0xffff;\n// Tracev((stderr, \"inflate: stored length %u\\n\",\n// state->length));\n INITBITS(s);\n state.mode = COPY_;\n if (flush == ZLIB.Z_TREES) break inf_leave;\n case COPY_:\n state.mode = COPY;\n case COPY:\n copy = state.length;\n if (copy) {\n if (copy > s.have) copy = s.have;\n if (copy > s.left) copy = s.left;\n if (copy == 0) break inf_leave;\n strm.output_data += strm.input_data.substring(s.next, s.next + copy);\n strm.next_out += copy;\n s.have -= copy;\n s.next += copy;\n s.left -= copy;\n state.length -= copy;\n break;\n }\n// Tracev((stderr, \"inflate: stored end\\n\"));\n state.mode = TYPE;\n break;\n case TABLE:\n if(!NEEDBITS(s, 14)) break inf_leave;\n state.nlen = BITS(s, 5) + 257;\n DROPBITS(s, 5);\n state.ndist = BITS(s, 5) + 1;\n DROPBITS(s, 5);\n state.ncode = BITS(s, 4) + 4;\n DROPBITS(s, 4);\n//#ifndef PKZIP_BUG_WORKAROUND\n if (state.nlen > 286 || state.ndist > 30) {\n strm.msg = 'too many length or distance symbols';\n state.mode = BAD;\n break;\n }\n//#endif\n// Tracev((stderr, \"inflate: table sizes ok\\n\"));\n state.have = 0;\n state.mode = LENLENS;\n case LENLENS:\n while (state.have < state.ncode) {\n if(!NEEDBITS(s, 3)) break inf_leave;\n var tmp = BITS(s, 3);\n state.lens[inflate_order[state.have++]] = tmp;\n DROPBITS(s, 3);\n }\n while (state.have < 19)\n state.lens[inflate_order[state.have++]] = 0;\n state.next = 0;\n state.lencode = 0;\n state.lenbits = 7;\n\n// ret = inflate_table(CODES, state->lens, 19, &(state->next),\n// &(state->lenbits), state->work);\n ret = inflate_table(state, CODES);\n\n if (ret) {\n strm.msg = 'invalid code lengths set';\n state.mode = BAD;\n break;\n }\n// Tracev((stderr, \"inflate: code lengths ok\\n\"));\n state.have = 0;\n state.mode = CODELENS;\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;;) {\n here = state.codes[state.lencode + BITS(s, state.lenbits)];\n if (here.bits <= s.bits) break;\n if(!PULLBYTE(s)) break inf_leave;\n }\n if (here.val < 16) {\n DROPBITS(s, here.bits);\n state.lens[state.have++] = here.val;\n }\n else {\n if (here.val == 16) {\n if(!NEEDBITS(s, here.bits + 2)) break inf_leave;\n DROPBITS(s, here.bits);\n if (state.have == 0) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1];\n copy = 3 + BITS(s, 2);\n DROPBITS(s, 2);\n }\n else if (here.val == 17) {\n if(!NEEDBITS(s, here.bits + 3)) break inf_leave;\n DROPBITS(s, here.bits);\n len = 0;\n copy = 3 + BITS(s, 3);\n DROPBITS(s, 3);\n }\n else {\n if(!NEEDBITS(s, here.bits + 7)) break inf_leave;\n DROPBITS(s, here.bits);\n len = 0;\n copy = 11 + BITS(s, 7);\n DROPBITS(s, 7);\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n while (copy--)\n state.lens[state.have++] = len;\n }\n }\n\n /* handle error breaks in while */\n if (state.mode == BAD) break;\n\n /* check for end-of-block code (better have one) */\n if (state.lens[256] == 0) {\n strm.msg = 'invalid code -- missing end-of-block';\n state.mode = BAD;\n break;\n }\n\n /* build code tables -- note: do not change the lenbits or distbits\n values here (9 and 6) without reading the comments in inftrees.h\n concerning the ENOUGH constants, which depend on those values */\n state.next = 0;\n state.lencode = state.next;\n state.lenbits = 9;\n// ret = inflate_table(LENS, state->lens, state->nlen, &(state->next),\n// &(state->lenbits), state->work);\n ret = inflate_table(state, LENS);\n if (ret) {\n strm.msg = 'invalid literal/lengths set';\n state.mode = BAD;\n break;\n }\n state.distcode = state.next;\n state.distbits = 6;\n// ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist, &(state->next),\n// &(state->distbits), state->work);\n ret = inflate_table(state, DISTS);\n if (ret) {\n strm.msg = 'invalid distances set';\n state.mode = BAD;\n break;\n }\n// Tracev((stderr, \"inflate: codes ok\\n\"));\n state.mode = LEN_;\n if (flush == ZLIB.Z_TREES) break inf_leave;\n case LEN_:\n state.mode = LEN;\n case LEN:\n if (s.have >= 6 && s.left >= 258) {\n RESTORE(s);\n inflate_fast(strm, out);\n LOAD(strm, s);\n if (state.mode == TYPE)\n state.back = -1;\n break;\n }\n state.back = 0;\n for (;;) {\n here = state.codes[state.lencode + BITS(s, state.lenbits)];\n if (here.bits <= s.bits) break;\n if(!PULLBYTE(s)) break inf_leave;\n }\n if (here.op && (here.op & 0xf0) == 0) {\n last = here;\n for (;;) {\n here = state.codes[state.lencode + last.val +\n (BITS(s, last.bits + last.op) >>> last.bits)];\n if (last.bits + here.bits <= s.bits) break;\n if(!PULLBYTE(s)) break inf_leave;\n }\n DROPBITS(s, last.bits);\n state.back += last.bits;\n }\n DROPBITS(s, here.bits);\n state.back += here.bits;\n state.length = here.val;\n if (here.op == 0) {\n// Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n// \"inflate: literal '%c'\\n\" :\n// \"inflate: literal 0x%02x\\n\", here.val));\n state.mode = LIT;\n break;\n }\n if (here.op & 32) {\n// Tracevv((stderr, \"inflate: end of block\\n\"));\n state.back = -1;\n state.mode = TYPE;\n break;\n }\n if (here.op & 64) {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break;\n }\n state.extra = here.op & 15;\n state.mode = LENEXT;\n case LENEXT:\n if (state.extra) {\n if(!NEEDBITS(s, state.extra)) break inf_leave;\n state.length += BITS(s, state.extra);\n DROPBITS(s, state.extra);\n state.back += state.extra;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", state->length));\n state.was = state.length;\n state.mode = DIST;\n case DIST:\n for (;;) {\n here = state.codes[state.distcode + BITS(s, state.distbits)];\n if (here.bits <= s.bits) break;\n if(!PULLBYTE(s)) break inf_leave;\n }\n if ((here.op & 0xf0) == 0) {\n last = here;\n for (;;) {\n here = state.codes[state.distcode + last.val +\n (BITS(s, last.bits + last.op) >>> last.bits)];\n if ((last.bits + here.bits) <= s.bits) break;\n if(!PULLBYTE(s)) break inf_leave;\n }\n DROPBITS(s, last.bits);\n state.back += last.bits;\n }\n DROPBITS(s, here.bits);\n state.back += here.bits;\n if (here.op & 64) {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break;\n }\n state.offset = here.val;\n state.extra = here.op & 15;\n state.mode = DISTEXT;\n case DISTEXT:\n if (state.extra) {\n if(!NEEDBITS(s, state.extra)) break inf_leave;\n state.offset += BITS(s, state.extra);\n DROPBITS(s, state.extra);\n state.back += state.extra;\n }\n//NOSPRT #ifdef INFLATE_STRICT\n// if (state->offset > state->dmax) {\n// strm->msg = (char *)\"invalid distance too far back\";\n// state->mode = BAD;\n// break;\n// }\n//#endif\n// Tracevv((stderr, \"inflate: distance %u\\n\", state->offset));\n state.mode = MATCH;\n case MATCH:\n if (s.left == 0) break inf_leave;\n copy = out - s.left;\n if (state.offset > copy) { /* copy from window */\n copy = state.offset - copy;\n if (copy > state.whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n//NOSPRT #ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// Trace((stderr, \"inflate.c too far\\n\"));\n// copy -= state->whave;\n// if (copy > state->length) copy = state->length;\n// if (copy > left) copy = left;\n// left -= copy;\n// state->length -= copy;\n// do {\n// *put++ = 0;\n// } while (--copy);\n// if (state->length == 0) state->mode = LEN;\n// break;\n//#endif\n }\n if (copy > state.wnext) {\n copy -= state.wnext;\n // from = state->window + (state->wsize - copy);\n from_window_offset = state.wsize - copy;\n from_out_offset = -1;\n }\n else {\n // from = state->window + (state->wnext - copy);\n from_window_offset = state.wnext - copy;\n from_out_offset = -1;\n }\n if (copy > state.length) copy = state.length;\n }\n else { /* copy from output */\n // from = put - state->offset;\n from_window_offset = -1;\n from_out_offset = strm.next_out - state.offset;\n copy = state.length;\n }\n if (copy > s.left) copy = s.left;\n s.left -= copy;\n state.length -= copy;\n if( from_window_offset >= 0 ) {\n strm.output_data += state.window.substring(from_window_offset, from_window_offset + copy);\n strm.next_out += copy;\n copy = 0;\n } else {\n strm.next_out += copy;\n do {\n strm.output_data += strm.output_data.charAt(from_out_offset++);\n } while (--copy);\n }\n if (state.length == 0) state.mode = LEN;\n break;\n case LIT:\n if (s.left == 0) break inf_leave;\n\n strm.output_data += String.fromCharCode(state.length);\n strm.next_out++;\n //*put++ = (unsigned char)(state->length);\n\n s.left--;\n state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n if(!NEEDBITS(s, 32)) break inf_leave;\n out -= s.left;\n strm.total_out += out;\n state.total += out;\n if (out)\n strm.adler = state.check =\n strm.checksum_function(state.check, strm.output_data, strm.output_data.length - out, out);\n out = s.left;\n if ((\n// #ifdef GUNZIP\n state.flags ? s.hold :\n//#endif\n REVERSE(s.hold)) != state.check) {\n strm.msg = \"incorrect data check\";\n state.mode = BAD;\n break;\n }\n INITBITS(s);\n//debug(\"## inflate: check matches trailer\\n\");\n// Tracev((stderr, \"inflate: check matches trailer\\n\"));\n }\n//#ifdef GUNZIP\n state.mode = LENGTH;\n case LENGTH:\n if (state.wrap && state.flags) {\n if(!NEEDBITS(s, 32)) break inf_leave;\n if (s.hold != (state.total & 0xffffffff)) {\n strm.msg = 'incorrect length check';\n state.mode = BAD;\n break;\n }\n INITBITS(s);\n //Tracev((stderr, \"inflate: length matches trailer\\n\"));\n }\n//#endif\n state.mode = DONE;\n case DONE:\n ret = ZLIB.Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = ZLIB.Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return ZLIB.Z_MEM_ERROR;\n case SYNC:\n default:\n return ZLIB.Z_STREAM_ERROR;\n } }\n\n /*\n Return from inflate(), updating the total counts and the check value.\n If there was no progress during the inflate() call, return a buffer\n error. Call updatewindow() to create and/or update the window state.\n Note: a memory error from inflate() is non-recoverable.\n */\ninf_leave:\n RESTORE(s);\n if (state.wsize || (out != strm.avail_out && state.mode < BAD &&\n (state.mode < CHECK || flush != ZLIB.Z_FINISH)))\n if (updatewindow(strm)) {\n state.mode = MEM;\n return ZLIB.Z_MEM_ERROR;\n }\n _in -= strm.avail_in;\n out -= strm.avail_out;\n strm.total_in += _in;\n strm.total_out += out;\n state.total += out;\n if (state.wrap && out)\n\t strm.adler = state.check = strm.checksum_function(state.check, strm.output_data, 0, strm.output_data.length);\n strm.data_type = state.bits + (state.last ? 64 : 0) +\n\t (state.mode == TYPE ? 128 : 0) +\n\t (state.mode == LEN_ || state.mode == COPY_ ? 256 : 0);\n if (((_in == 0 && out == 0) || flush == ZLIB.Z_FINISH) && ret == ZLIB.Z_OK)\n ret = ZLIB.Z_BUF_ERROR;\n return ret;\n};\n\nZLIB.inflateEnd = function(strm)\n{\n var state;\n if (!strm || !strm.state )\n return ZLIB.Z_STREAM_ERROR;\n state = strm.state;\n state.window = null;\n strm.state = null;\n // Tracev((stderr, \"inflate: end\\n\"));\n return ZLIB.Z_OK;\n};\n\nZLIB.z_stream.prototype.inflate = function(input_string, opts)\n{\n var flush;\n var avail_out;\n\tvar DEFAULT_BUFFER_SIZE = 16384;\n\n this.input_data = input_string;\n this.next_in = getarg(opts, 'next_in', 0);\n this.avail_in = getarg(opts, 'avail_in', input_string.length - this.next_in);\n\n flush = getarg(opts, 'flush', ZLIB.Z_SYNC_FLUSH);\n avail_out = getarg(opts, 'avail_out', -1);\n\n var result = '';\n do {\n this.avail_out = (avail_out >= 0 ? avail_out : DEFAULT_BUFFER_SIZE);\n this.output_data = '';\n this.next_out = 0;\n this.error = ZLIB.inflate(this, flush);\n if(avail_out >= 0) {\n return this.output_data;\n }\n result += this.output_data;\n\t\tif(this.avail_out > 0) {\n\t\t\tbreak;\n\t\t}\n } while(this.error == ZLIB.Z_OK);\n\n return result;\n};\n\nZLIB.z_stream.prototype.inflateReset = function(windowBits)\n{\n return ZLIB.inflateReset(this, windowBits);\n};\n\n}());\n\nexport {\n ZLIB \n}","/* eslint-disable */\n\n/** \n* @description Remote Desktop\n* @author Ylian Saint-Hilaire\n* @version v0.0.2g\n*/\n\nimport { Q, QS, QV, ReadInt, ReadShort, IntToStr, ShortToStr, ReadShortX } from './common-0.0.1'\nimport { ZLIB } from './zlib-inflate'\n\n// Construct a MeshServer object\nvar CreateAmtRemoteDesktop = function (divid, scrolldiv) {\n var obj = {};\n obj.canvasid = divid;\n obj.CanvasId = Q(divid);\n obj.scrolldiv = scrolldiv;\n obj.canvas = Q(divid).getContext(\"2d\");\n obj.protocol = 2; // KVM\n obj.state = 0;\n obj.acc = \"\";\n obj.ScreenWidth = 960;\n obj.ScreenHeight = 700;\n obj.width = 0;\n obj.height = 0;\n obj.rwidth = 0;\n obj.rheight = 0;\n obj.bpp = 2; // Bytes per pixel (1 or 2 supported)\n obj.useZRLE = true;\n obj.showmouse = true;\n obj.buttonmask = 0;\n //obj.inbytes = 0;\n //obj.outbytes = 0;\n obj.spare = null;\n obj.sparew = 0;\n obj.spareh = 0;\n obj.sparew2 = 0;\n obj.spareh2 = 0;\n obj.sparecache = {};\n obj.ZRLEfirst = 1;\n obj.onScreenSizeChange = null;\n obj.frameRateDelay = 0;\n // ###BEGIN###{DesktopRotation}\n obj.noMouseRotate = false;\n obj.rotation = 0;\n // ###END###{DesktopRotation}\n // ###BEGIN###{DesktopInband}\n obj.kvmDataSupported = false;\n obj.onKvmData = null;\n obj.onKvmDataPending = [];\n obj.onKvmDataAck = -1;\n obj.holding = false;\n obj.lastKeepAlive = Date.now();\n // ###END###{DesktopInband}\n\n // ###BEGIN###{DesktopFocus}\n obj.mx = 0; // Last mouse x position\n obj.my = 0; // Last mouse y position\n obj.ox = -1; // Old mouse x position\n obj.oy = -1; // Old mouse y position\n obj.focusmode = 0;\n // ###END###{DesktopFocus}\n // ###BEGIN###{Inflate}\n obj.inflate = ZLIB.inflateInit(-15);\n // ###END###{Inflate}\n\n // Private method\n obj.Debug = function (msg) { console.log(msg); }\n\n obj.xxStateChange = function (newstate) {\n if (newstate == 0) {\n obj.canvas.fillStyle = '#000000';\n obj.canvas.fillRect(0, 0, obj.width, obj.height);\n obj.canvas.canvas.width = obj.rwidth = obj.width = 640;\n obj.canvas.canvas.height = obj.rheight = obj.height = 400;\n QS(obj.canvasid).cursor = 'default';\n } else {\n QS(obj.canvasid).cursor = obj.showmouse ?'default':'none';\n }\n }\n\n obj.ProcessData = function (data) {\n if (!data) return;\n // obj.Debug(\"KRecv(\" + data.length + \"): \" + rstr2hex(data));\n //obj.inbytes += data.length;\n //obj.Debug(\"KRecv(\" + obj.inbytes + \")\");\n obj.acc += data;\n while (obj.acc.length > 0) {\n //obj.Debug(\"KAcc(\" + obj.acc.length + \"): \" + rstr2hex(obj.acc));\n var cmdsize = 0;\n if (obj.state == 0 && obj.acc.length >= 12) {\n // Getting handshake & version\n cmdsize = 12;\n //if (obj.acc.substring(0, 4) != \"RFB \") { return obj.Stop(); }\n //var version = parseFloat(obj.acc.substring(4, 11));\n //obj.Debug(\"KVersion: \" + version);\n obj.state = 1;\n obj.send(\"RFB 003.008\\n\");\n }\n else if (obj.state == 1 && obj.acc.length >= 1) {\n // Getting security options\n cmdsize = obj.acc.charCodeAt(0) + 1;\n obj.send(String.fromCharCode(1)); // Send the \"None\" security type. Since we already authenticated using redirection digest auth, we don't need to do this again.\n obj.state = 2;\n }\n else if (obj.state == 2 && obj.acc.length >= 4) {\n // Getting security response\n cmdsize = 4;\n if (ReadInt(obj.acc, 0) != 0) { return obj.Stop(); }\n obj.send(String.fromCharCode(1)); // Send share desktop flag\n obj.state = 3;\n }\n else if (obj.state == 3 && obj.acc.length >= 24) {\n // Getting server init\n // ###BEGIN###{DesktopRotation}\n obj.rotation = 0; // We don't currently support screen init while rotated.\n // ###END###{DesktopRotation}\n var namelen = ReadInt(obj.acc, 20);\n if (obj.acc.length < 24 + namelen) return;\n cmdsize = 24 + namelen;\n obj.canvas.canvas.width = obj.rwidth = obj.width = obj.ScreenWidth = ReadShort(obj.acc, 0);\n obj.canvas.canvas.height = obj.rheight = obj.height = obj.ScreenHeight = ReadShort(obj.acc, 2);\n\n // These are all values we don't really need, we are going to only run in RGB565 or RGB332 and not use the flexibility provided by these settings.\n // Makes the javascript code smaller and maybe a bit faster.\n /*\n obj.xbpp = obj.acc.charCodeAt(4);\n obj.depth = obj.acc.charCodeAt(5);\n obj.bigend = obj.acc.charCodeAt(6);\n obj.truecolor = obj.acc.charCodeAt(7);\n obj.rmax = ReadShort(obj.acc, 8);\n obj.gmax = ReadShort(obj.acc, 10);\n obj.bmax = ReadShort(obj.acc, 12);\n obj.rsh = obj.acc.charCodeAt(14);\n obj.gsh = obj.acc.charCodeAt(15);\n obj.bsh = obj.acc.charCodeAt(16);\n var name = obj.acc.substring(24, 24 + namelen);\n obj.Debug(\"name: \" + name);\n obj.Debug(\"width: \" + obj.width + \", height: \" + obj.height);\n obj.Debug(\"bits-per-pixel: \" + obj.xbpp);\n obj.Debug(\"depth: \" + obj.depth);\n obj.Debug(\"big-endian-flag: \" + obj.bigend);\n obj.Debug(\"true-colour-flag: \" + obj.truecolor);\n obj.Debug(\"rgb max: \" + obj.rmax + \",\" + obj.gmax + \",\" + obj.bmax);\n obj.Debug(\"rgb shift: \" + obj.rsh + \",\" + obj.gsh + \",\" + obj.bsh);\n */\n\n // SetEncodings, with AMT we can't omit RAW, must be specified.\n // Intel AMT supports encodings: RAW (0), ZRLE (16), Desktop Size (0xFFFFFF21, -223)\n\n var supportedEncodings = '';\n if (obj.useZRLE) supportedEncodings += IntToStr(16);\n supportedEncodings += IntToStr(0);\n // ###BEGIN###{DesktopInband}\n supportedEncodings += IntToStr(1092);\n // ###END###{DesktopInband}\n\n obj.send(String.fromCharCode(2, 0) + ShortToStr((supportedEncodings.length / 4) + 1) + supportedEncodings + IntToStr(-223)); // Supported Encodings + Desktop Size\n\n // Set the pixel encoding to something much smaller\n // obj.send(String.fromCharCode(0, 0, 0, 0, 16, 16, 0, 1) + ShortToStr(31) + ShortToStr(63) + ShortToStr(31) + String.fromCharCode(11, 5, 0, 0, 0, 0)); // Setup 16 bit color RGB565 (This is the default, so we don't need to set it)\n if (obj.bpp == 1) obj.send(String.fromCharCode(0, 0, 0, 0, 8, 8, 0, 1) + ShortToStr(7) + ShortToStr(7) + ShortToStr(3) + String.fromCharCode(5, 2, 0, 0, 0, 0)); // Setup 8 bit color RGB332\n\n obj.state = 4;\n obj.parent.xxStateChange(3);\n _SendRefresh();\n //obj.timer = setInterval(obj.xxOnTimer, 50);\n\n // ###BEGIN###{DesktopFocus}\n obj.ox = -1; // Old mouse x position\n // ###END###{DesktopFocus}\n\n if (obj.onScreenSizeChange != null) { obj.onScreenSizeChange(obj, obj.ScreenWidth, obj.ScreenHeight); }\n }\n else if (obj.state == 4) {\n switch (obj.acc.charCodeAt(0)) {\n case 0: // FramebufferUpdate\n if (obj.acc.length < 4) return;\n obj.state = 100 + ReadShort(obj.acc, 2); // Read the number of tiles that are going to be sent, add 100 and use that as our protocol state.\n cmdsize = 4;\n break;\n case 2: // This is the bell, do nothing.\n cmdsize = 1;\n break;\n case 3: // This is ServerCutText\n if (obj.acc.length < 8) return;\n var len = ReadInt(obj.acc, 4) + 8;\n if (obj.acc.length < len) return;\n cmdsize = handleServerCutText(obj.acc);\n break;\n }\n }\n else if (obj.state > 100 && obj.acc.length >= 12) {\n var x = ReadShort(obj.acc, 0),\n y = ReadShort(obj.acc, 2),\n width = ReadShort(obj.acc, 4),\n height = ReadShort(obj.acc, 6),\n s = width * height,\n encoding = ReadInt(obj.acc, 8);\n\n if (encoding < 17) {\n if (width < 1 || width > 64 || height < 1 || height > 64) { console.log(\"Invalid tile size (\" + width + \",\" + height + \"), disconnecting.\"); return obj.Stop(); }\n\n // Set the spare bitmap to the rigth size if it's not already. This allows us to recycle the spare most if not all the time.\n if (obj.sparew != width || obj.spareh != height) {\n obj.sparew = obj.sparew2 = width;\n obj.spareh = obj.spareh2 = height;\n // ###BEGIN###{DesktopRotation}\n if (obj.rotation == 1 || obj.rotation == 3) { obj.sparew2 = height, obj.spareh2 = width; }\n // ###END###{DesktopRotation}\n var xspacecachename = obj.sparew2 + 'x' + obj.spareh2;\n obj.spare = obj.sparecache[xspacecachename];\n if (!obj.spare) { obj.sparecache[xspacecachename] = obj.spare = obj.canvas.createImageData(obj.sparew2, obj.spareh2); }\n }\n\n }\n\n if (encoding == 0xFFFFFF21) {\n // Desktop Size (0xFFFFFF21, -223)\n obj.canvas.canvas.width = obj.rwidth = obj.width = width;\n obj.canvas.canvas.height = obj.rheight = obj.height = height;\n obj.send(String.fromCharCode(3, 0, 0, 0, 0, 0) + ShortToStr(obj.width) + ShortToStr(obj.height)); // FramebufferUpdateRequest\n cmdsize = 12;\n if (obj.onScreenSizeChange != null) { obj.onScreenSizeChange(obj, obj.ScreenWidth, obj.ScreenHeight); }\n // obj.Debug(\"New desktop width: \" + obj.width + \", height: \" + obj.height);\n }\n else if (encoding == 0) {\n // RAW encoding\n var ptr = 12, cs = 12 + (s * obj.bpp);\n if (obj.acc.length < cs) return; // Check we have all the data needed and we can only draw 64x64 tiles.\n cmdsize = cs;\n\n // CRITICAL LOOP, optimize this as much as possible\n for (var i = 0; i < s; i++) { _setPixel(obj.acc.charCodeAt(ptr++) + ((obj.bpp == 2) ? (obj.acc.charCodeAt(ptr++) << 8) : 0), i); }\n _putImage(obj.spare, x, y);\n }\n else if (encoding == 16) {\n // ZRLE encoding\n if (obj.acc.length < 16) return;\n var datalen = ReadInt(obj.acc, 12);\n if (obj.acc.length < (16 + datalen)) return;\n //obj.Debug(\"RECT ZRLE (\" + x + \",\" + y + \",\" + width + \",\" + height + \") LEN = \" + datalen);\n //obj.Debug(\"RECT ZRLE LEN: \" + ReadShortX(obj.acc, 17) + \", DATA: \" + rstr2hex(obj.acc.substring(16)));\n\n // Process the ZLib header if this is the first block\n var ptr = 16, delta = 5, dx = 0;\n\n if (datalen > 5 && obj.acc.charCodeAt(ptr) == 0 && ReadShortX(obj.acc, ptr + 1) == (datalen - delta)) {\n // This is an uncompressed ZLib data block\n _decodeLRE(obj.acc, ptr + 5, x, y, width, height, s, datalen);\n }\n // ###BEGIN###{Inflate}\n else {\n // This is compressed ZLib data, decompress and process it.\n var arr = obj.inflate.inflate(obj.acc.substring(ptr, ptr + datalen - dx));\n if (arr.length > 0) { _decodeLRE(arr, 0, x, y, width, height, s, arr.length); } else { obj.Debug(\"Invalid deflate data\"); }\n }\n // ###END###{Inflate}\n\n cmdsize = 16 + datalen;\n }\n else {\n obj.Debug(\"Unknown Encoding: \" + encoding);\n return obj.Stop();\n }\n if (--obj.state == 100) {\n obj.state = 4;\n if (obj.frameRateDelay == 0) {\n _SendRefresh(); // Ask for new frame\n } else {\n setTimeout(_SendRefresh, obj.frameRateDelay); // Hold x miliseconds before asking for a new frame\n }\n }\n }\n\n if (cmdsize == 0) return;\n obj.acc = obj.acc.substring(cmdsize);\n }\n }\n\n function _decodeLRE(data, ptr, x, y, width, height, s, datalen) {\n var subencoding = data.charCodeAt(ptr++), index, v, runlengthdecode, palette = {}, rlecount = 0, runlength = 0, i;\n // obj.Debug(\"RECT RLE (\" + (datalen - 5) + \", \" + subencoding + \"):\" + rstr2hex(data.substring(21, 21 + (datalen - 5))));\n if (subencoding == 0) {\n // RAW encoding\n for (i = 0; i < s; i++) { _setPixel(data.charCodeAt(ptr++) + ((obj.bpp == 2) ? (data.charCodeAt(ptr++) << 8) : 0), i); }\n _putImage(obj.spare, x, y);\n }\n else if (subencoding == 1) {\n // Solid color tile\n v = data.charCodeAt(ptr++) + ((obj.bpp == 2) ? (data.charCodeAt(ptr++) << 8) : 0);\n obj.canvas.fillStyle = 'rgb(' + ((obj.bpp == 1) ? ((v & 224) + ',' + ((v & 28) << 3) + ',' + _fixColor((v & 3) << 6)) : (((v >> 8) & 248) + ',' + ((v >> 3) & 252) + ',' + ((v & 31) << 3))) + ')';\n\n // ###BEGIN###{DesktopRotation}\n var xx = _rotX(x, y);\n y = _rotY(x, y);\n x = xx;\n // ###END###{DesktopRotation}\n\n obj.canvas.fillRect(x, y, width, height);\n }\n else if (subencoding > 1 && subencoding < 17) { // Packed palette encoded tile\n // Read the palette\n var br = 4, bm = 15; // br is BitRead and bm is BitMask. By adjusting these two we can support all the variations in this encoding.\n for (i = 0; i < subencoding; i++) { palette[i] = data.charCodeAt(ptr++) + ((obj.bpp == 2) ? (data.charCodeAt(ptr++) << 8) : 0); }\n\n // Compute bits to read & bit mark\n if (subencoding == 2) { br = 1; bm = 1; } else if (subencoding <= 4) { br = 2; bm = 3; }\n\n // Display all the bits\n while (rlecount < s && ptr < data.length) { v = data.charCodeAt(ptr++); for (i = (8 - br) ; i >= 0; i -= br) { _setPixel(palette[(v >> i) & bm], rlecount++); } }\n _putImage(obj.spare, x, y);\n }\n else if (subencoding == 128) { // RLE encoded tile\n while (rlecount < s && ptr < data.length) {\n // Get the run color\n v = data.charCodeAt(ptr++) + ((obj.bpp == 2) ? (data.charCodeAt(ptr++) << 8) : 0);\n\n // Decode the run length. This is the fastest and most compact way I found to do this.\n runlength = 1; do { runlength += (runlengthdecode = data.charCodeAt(ptr++)); } while (runlengthdecode == 255);\n\n // Draw a run\n while (--runlength >= 0) { _setPixel(v, rlecount++); }\n }\n _putImage(obj.spare, x, y);\n }\n else if (subencoding > 129) { // Palette RLE encoded tile\n // Read the palette\n for (i = 0; i < (subencoding - 128) ; i++) { palette[i] = data.charCodeAt(ptr++) + ((obj.bpp == 2) ? (data.charCodeAt(ptr++) << 8) : 0); }\n\n // Decode RLE on palette\n while (rlecount < s && ptr < data.length) {\n // Setup the run, get the color index and get the color from the palette.\n runlength = 1; index = data.charCodeAt(ptr++); v = palette[index % 128];\n\n // If the index starts with high order bit 1, this is a run and decode the run length.\n if (index > 127) { do { runlength += (runlengthdecode = data.charCodeAt(ptr++)); } while (runlengthdecode == 255); }\n\n // Draw a run\n while (--runlength >= 0) { _setPixel(v, rlecount++); }\n }\n _putImage(obj.spare, x, y);\n }\n }\n\n // ###BEGIN###{DesktopInband}\n obj.hold = function (holding) {\n if (obj.holding == holding) return;\n obj.holding = holding;\n obj.canvas.fillStyle = '#000000';\n obj.canvas.fillRect(0, 0, obj.width, obj.height); // Paint black\n if (obj.holding == false) {\n // Go back to normal operations\n // Set canvas size and ask for full screen refresh\n if ((obj.canvas.canvas.width != obj.width) || (obj.canvas.canvas.height != obj.height)) {\n obj.canvas.canvas.width = obj.width; obj.canvas.canvas.height = obj.height;\n if (obj.onScreenSizeChange != null) { obj.onScreenSizeChange(obj, obj.ScreenWidth, obj.ScreenHeight); } // ???\n }\n obj.Send(String.fromCharCode(3, 0, 0, 0, 0, 0) + ShortToStr(obj.width) + ShortToStr(obj.height)); // FramebufferUpdateRequest\n } else {\n obj.UnGrabMouseInput();\n obj.UnGrabKeyInput();\n }\n }\n // ###END###{DesktopInband}\n\n function _putImage(i, x, y) {\n // ###BEGIN###{DesktopInband}\n if (obj.holding == true) return;\n // ###END###{DesktopInband}\n // ###BEGIN###{DesktopRotation}\n var xx = _arotX(x, y);\n y = _arotY(x, y);\n x = xx;\n // ###END###{DesktopRotation}\n obj.canvas.putImageData(i, x, y);\n }\n\n function _setPixel(v, p) {\n var pp = p * 4;\n\n // ###BEGIN###{DesktopRotation}\n if (obj.rotation > 0) {\n if (obj.rotation == 1) {\n var x = p % obj.sparew;\n var y = Math.floor(p / obj.sparew);\n p = (x * obj.sparew2) + (obj.sparew2 - 1 - y);\n pp = p * 4;\n }\n else if (obj.rotation == 2) { pp = (obj.sparew * obj.spareh * 4) - 4 - pp; }\n else if (obj.rotation == 3) {\n var x = p % obj.sparew;\n var y = Math.floor(p / obj.sparew);\n p = ((obj.sparew2 - 1 - x) * obj.sparew2) + (y);\n pp = p * 4;\n }\n }\n // ###END###{DesktopRotation}\n\n if (obj.bpp == 1) {\n // Set 8bit color RGB332\n obj.spare.data[pp++] = v & 224;\n obj.spare.data[pp++] = (v & 28) << 3;\n obj.spare.data[pp++] = _fixColor((v & 3) << 6);\n } else {\n // Set 16bit color RGB565\n obj.spare.data[pp++] = (v >> 8) & 248;\n obj.spare.data[pp++] = (v >> 3) & 252;\n obj.spare.data[pp++] = (v & 31) << 3;\n }\n obj.spare.data[pp] = 0xFF; // Set alpha channel to opaque.\n }\n\n // ###BEGIN###{DesktopRotation}\n function _arotX(x, y) {\n if (obj.rotation == 0) return x;\n if (obj.rotation == 1) return obj.canvas.canvas.width - obj.sparew2 - y;\n if (obj.rotation == 2) return obj.canvas.canvas.width - obj.sparew2 - x;\n if (obj.rotation == 3) return y;\n return 0;\n }\n\n function _arotY(x, y) {\n if (obj.rotation == 0) return y;\n if (obj.rotation == 1) return x;\n if (obj.rotation == 2) return obj.canvas.canvas.height - obj.spareh2 - y;\n if (obj.rotation == 3) return obj.canvas.canvas.height - obj.spareh - x;\n return 0;\n }\n\n function _crotX(x, y) {\n if (obj.rotation == 0) return x;\n if (obj.rotation == 1) return y;\n if (obj.rotation == 2) return obj.canvas.canvas.width - x;\n if (obj.rotation == 3) return obj.canvas.canvas.height - y;\n return 0;\n }\n\n function _crotY(x, y) {\n if (obj.rotation == 0) return y;\n if (obj.rotation == 1) return obj.canvas.canvas.width - x;\n if (obj.rotation == 2) return obj.canvas.canvas.height - y;\n if (obj.rotation == 3) return x;\n return 0;\n }\n\n function _rotX(x, y) {\n if (obj.rotation == 0) return x;\n if (obj.rotation == 1) return x;\n if (obj.rotation == 2) return x - obj.canvas.canvas.width;\n if (obj.rotation == 3) return x - obj.canvas.canvas.height;\n return 0;\n }\n\n function _rotY(x, y) {\n if (obj.rotation == 0) return y;\n if (obj.rotation == 1) return y - obj.canvas.canvas.width;\n if (obj.rotation == 2) return y - obj.canvas.canvas.height;\n if (obj.rotation == 3) return y;\n return 0;\n }\n\n obj.tcanvas = null;\n obj.setRotation = function (x) {\n while (x < 0) { x += 4; }\n var newrotation = x % 4;\n //console.log('hard-rot: ' + newrotation);\n // ###BEGIN###{DesktopInband}\n if (obj.holding == true) { obj.rotation = newrotation; return; }\n // ###END###{DesktopInband}\n\n if (newrotation == obj.rotation) return true;\n var rw = obj.canvas.canvas.width;\n var rh = obj.canvas.canvas.height;\n if (obj.rotation == 1 || obj.rotation == 3) { rw = obj.canvas.canvas.height; rh = obj.canvas.canvas.width; }\n\n // Copy the canvas, put it back in the correct direction\n if (obj.tcanvas == null) obj.tcanvas = document.createElement('canvas');\n var tcanvasctx = obj.tcanvas.getContext('2d');\n tcanvasctx.setTransform(1, 0, 0, 1, 0, 0);\n tcanvasctx.canvas.width = rw;\n tcanvasctx.canvas.height = rh;\n tcanvasctx.rotate((obj.rotation * -90) * Math.PI / 180);\n if (obj.rotation == 0) tcanvasctx.drawImage(obj.canvas.canvas, 0, 0);\n if (obj.rotation == 1) tcanvasctx.drawImage(obj.canvas.canvas, -obj.canvas.canvas.width, 0);\n if (obj.rotation == 2) tcanvasctx.drawImage(obj.canvas.canvas, -obj.canvas.canvas.width, -obj.canvas.canvas.height);\n if (obj.rotation == 3) tcanvasctx.drawImage(obj.canvas.canvas, 0, -obj.canvas.canvas.height);\n\n // Change the size and orientation and copy the canvas back into the rotation\n if (obj.rotation == 0 || obj.rotation == 2) { obj.canvas.canvas.height = rw; obj.canvas.canvas.width = rh; }\n if (obj.rotation == 1 || obj.rotation == 3) { obj.canvas.canvas.height = rh; obj.canvas.canvas.width = rw; }\n obj.canvas.setTransform(1, 0, 0, 1, 0, 0);\n obj.canvas.rotate((newrotation * 90) * Math.PI / 180);\n obj.rotation = newrotation;\n obj.canvas.drawImage(obj.tcanvas, _rotX(0, 0), _rotY(0, 0));\n\n obj.width = obj.canvas.canvas.width;\n obj.height = obj.canvas.canvas.height;\n if (obj.onScreenResize != null) obj.onScreenResize(obj, obj.width, obj.height, obj.CanvasId);\n return true;\n }\n // ###END###{DesktopRotation}\n\n function _fixColor(c) { return (c > 127) ? (c + 32) : c; }\n\n function _SendRefresh() {\n // ###BEGIN###{DesktopInband}\n if (obj.holding == true) return;\n // ###END###{DesktopInband}\n // ###BEGIN###{DesktopFocus}\n if (obj.focusmode > 0) {\n // Request only pixels around the last mouse position\n var df = obj.focusmode * 2;\n obj.send(String.fromCharCode(3, 1) + ShortToStr(Math.max(Math.min(obj.ox, obj.mx) - obj.focusmode, 0)) + ShortToStr(Math.max(Math.min(obj.oy, obj.my) - obj.focusmode, 0)) + ShortToStr(df + Math.abs(obj.ox - obj.mx)) + ShortToStr(df + Math.abs(obj.oy - obj.my))); // FramebufferUpdateRequest\n obj.ox = obj.mx;\n obj.oy = obj.my;\n } else {\n // ###END###{DesktopFocus}\n // Request the entire screen\n obj.send(String.fromCharCode(3, 1, 0, 0, 0, 0) + ShortToStr(obj.rwidth) + ShortToStr(obj.rheight)); // FramebufferUpdateRequest\n // ###BEGIN###{DesktopFocus}\n }\n // ###END###{DesktopFocus}\n }\n\n obj.Start = function () {\n //obj.Debug(\"KVM-Start\");\n obj.state = 0;\n obj.acc = \"\";\n obj.ZRLEfirst = 1;\n //obj.inbytes = 0;\n //obj.outbytes = 0;\n // ###BEGIN###{Inflate}\n obj.inflate.inflateReset();\n // ###END###{Inflate}\n // ###BEGIN###{DesktopInband}\n obj.onKvmDataPending = [];\n obj.onKvmDataAck = -1;\n obj.kvmDataSupported = false;\n // ###END###{DesktopInband}\n for (var i in obj.sparecache) { delete obj.sparecache[i]; }\n }\n\n obj.Stop = function () {\n obj.UnGrabMouseInput();\n obj.UnGrabKeyInput();\n obj.parent.Stop();\n }\n\n obj.send = function (x) {\n //obj.Debug(\"KSend(\" + x.length + \"): \" + rstr2hex(x));\n //obj.outbytes += x.length;\n obj.parent.send(x);\n }\n\n var convertAmtKeyCodeTable = {\n \"Pause\": 19,\n \"CapsLock\": 20,\n \"Space\": 32,\n \"Quote\": 39,\n \"Minus\": 45,\n \"NumpadMultiply\": 42,\n \"NumpadAdd\": 43,\n \"PrintScreen\": 44,\n \"Comma\": 44,\n \"NumpadSubtract\": 45,\n \"NumpadDecimal\": 46,\n \"Period\": 46,\n \"Slash\": 47,\n \"NumpadDivide\": 47,\n \"Semicolon\": 59,\n \"Equal\": 61,\n \"OSLeft\": 91,\n \"BracketLeft\": 91,\n \"OSRight\": 91,\n \"Backslash\": 92,\n \"BracketRight\": 93,\n \"ContextMenu\": 93,\n \"Backquote\": 96,\n \"NumLock\": 144,\n \"ScrollLock\": 145,\n \"Backspace\": 0xff08,\n \"Tab\": 0xff09,\n \"Enter\": 0xff0d,\n \"NumpadEnter\": 0xff0d,\n \"Escape\": 0xff1b,\n \"Delete\": 0xffff,\n \"Home\": 0xff50,\n \"PageUp\": 0xff55,\n \"PageDown\": 0xff56,\n \"ArrowLeft\": 0xff51,\n \"ArrowUp\": 0xff52,\n \"ArrowRight\": 0xff53,\n \"ArrowDown\": 0xff54,\n \"End\": 0xff57,\n \"Insert\": 0xff63,\n \"F1\": 0xffbe,\n \"F2\": 0xffbf,\n \"F3\": 0xffc0,\n \"F4\": 0xffc1,\n \"F5\": 0xffc2,\n \"F6\": 0xffc3,\n \"F7\": 0xffc4,\n \"F8\": 0xffc5,\n \"F9\": 0xffc6,\n \"F10\": 0xffc7,\n \"F11\": 0xffc8,\n \"F12\": 0xffc9,\n \"ShiftLeft\": 0xffe1,\n \"ShiftRight\": 0xffe2,\n \"ControlLeft\": 0xffe3,\n \"ControlRight\": 0xffe4,\n \"AltLeft\": 0xffe9,\n \"AltRight\": 0xffea,\n \"MetaLeft\": 0xffe7,\n \"MetaRight\": 0xffe8\n }\n function convertAmtKeyCode(e) {\n if (e.code.startsWith('Key') && e.code.length == 4) { return e.code.charCodeAt(3) + ((e.shiftKey == false) ? 32 : 0); }\n if (e.code.startsWith('Digit') && e.code.length == 6) { return e.code.charCodeAt(5); }\n if (e.code.startsWith('Numpad') && e.code.length == 7) { return e.code.charCodeAt(6); }\n return convertAmtKeyCodeTable[e.code];\n }\n\n /*\n Intel AMT only recognizes a small subset of keysym characters defined in the keysymdef.h so you don�t need to\n implement all the languages (this is taken care by the USB Scancode Extension in RFB4.0 protocol).\n The only subset recognized by the FW is the defined by the following sets : XK_LATIN1 , XK_MISCELLANY, XK_3270, XK_XKB_KEYS, XK_KATAKANA.\n In addition to keysymdef.h symbols there are 6 japanese extra keys that we do support:\n \n #define XK_Intel_EU_102kbd_backslash_pipe_45 0x17170056 // European 102-key: 45 (backslash/pipe), usb Usage: 0x64\n #define XK_Intel_JP_106kbd_yen_pipe 0x1717007d // Japanese 106-key: 14 (Yen/pipe), usb Usage: 0x89\n #define XK_Intel_JP_106kbd_backslash_underbar 0x17170073 // Japanese 106-key: 56 (backslash/underbar), usb Usage: 0x87\n #define XK_Intel_JP_106kbd_NoConvert 0x1717007b // Japanese 106-key: 131 (NoConvert), usb Usage: 0x8b\n #define XK_Intel_JP_106kbd_Convert 0x17170079 // Japanese 106-key: 132 (Convert), usb Usage: 0x8a\n #define XK_Intel_JP_106kbd_Hirigana_Katakana 0x17170070 // Japanese 106-key: 133 (Hirigana/Katakana), usb Usage: 0x88\n */\n\n function _keyevent(d, e) {\n if (!e) { e = window.event; }\n\n if (e.code) {\n // For new browsers, this mapping is keyboard language independent\n var k = convertAmtKeyCode(e);\n if (k != null) { obj.sendkey(k, d); }\n } else {\n // For older browsers, this mapping works best for EN-US keyboard\n var k = e.keyCode, kk = k;\n if (e.shiftKey == false && k >= 65 && k <= 90) kk = k + 32;\n if (k >= 112 && k <= 124) kk = k + 0xFF4E;\n if (k == 8) kk = 0xff08; // Backspace\n if (k == 9) kk = 0xff09; // Tab\n if (k == 13) kk = 0xff0d; // Return\n if (k == 16) kk = 0xffe1; // Shift (Left)\n if (k == 17) kk = 0xffe3; // Ctrl (Left)\n if (k == 18) kk = 0xffe9; // Alt (Left)\n if (k == 27) kk = 0xff1b; // ESC\n if (k == 33) kk = 0xff55; // PageUp\n if (k == 34) kk = 0xff56; // PageDown\n if (k == 35) kk = 0xff57; // End\n if (k == 36) kk = 0xff50; // Home\n if (k == 37) kk = 0xff51; // Left\n if (k == 38) kk = 0xff52; // Up\n if (k == 39) kk = 0xff53; // Right\n if (k == 40) kk = 0xff54; // Down\n if (k == 45) kk = 0xff63; // Insert\n if (k == 46) kk = 0xffff; // Delete\n if (k >= 96 && k <= 105) kk = k - 48; // Key pad numbers\n if (k == 106) kk = 42; // Pad *\n if (k == 107) kk = 43; // Pad +\n if (k == 109) kk = 45; // Pad -\n if (k == 110) kk = 46; // Pad .\n if (k == 111) kk = 47; // Pad /\n if (k == 186) kk = 59; // ;\n if (k == 187) kk = 61; // =\n if (k == 188) kk = 44; // ,\n if (k == 189) kk = 45; // -\n if (k == 190) kk = 46; // .\n if (k == 191) kk = 47; // /\n if (k == 192) kk = 96; // `\n if (k == 219) kk = 91; // [\n if (k == 220) kk = 92; // \\\n if (k == 221) kk = 93; // ]t\n if (k == 222) kk = 39; // '\n //console.log('Key' + d + \": \" + k + \" = \" + kk);\n obj.sendkey(kk, d);\n }\n return obj.haltEvent(e);\n }\n\n obj.sendkey = function (k, d) {\n if (typeof k == 'object') { for (var i in k) { obj.sendkey(k[i][0], k[i][1]); } }\n else { obj.send(String.fromCharCode(4, d, 0, 0) + IntToStr(k)); }\n }\n\n function handleServerCutText(acc) {\n if (acc.length < 8) return 0;\n var len = ReadInt(obj.acc, 4) + 8;\n if (acc.length < len) return 0;\n // ###BEGIN###{DesktopInband}\n if (obj.onKvmData != null) {\n var d = acc.substring(8, len);\n if ((d.length >= 16) && (d.substring(0, 15) == '\\0KvmDataChannel')) {\n if (obj.kvmDataSupported == false) { obj.kvmDataSupported = true; console.log('KVM Data Channel Supported.'); }\n if (((obj.onKvmDataAck == -1) && (d.length == 16)) || (d.charCodeAt(15) != 0)) { obj.onKvmDataAck = true; }\n //if (urlvars && urlvars['kvmdatatrace']) { console.log('KVM-Recv(' + (d.length - 16) + '): ' + d.substring(16)); }\n if (d.length >= 16) { obj.onKvmData(d.substring(16)); } // Event the data and ack\n if ((obj.onKvmDataAck == true) && (obj.onKvmDataPending.length > 0)) { obj.sendKvmData(obj.onKvmDataPending.shift()); } // Send pending data\n }\n }\n // ###END###{DesktopInband}\n return len;\n }\n\n // ###BEGIN###{DesktopInband}\n obj.sendKvmData = function (x) {\n if (obj.onKvmDataAck !== true) {\n obj.onKvmDataPending.push(x);\n } else {\n //if (urlvars && urlvars['kvmdatatrace']) { console.log('KVM-Send(' + x.length + '): ' + x); }\n x = '\\0KvmDataChannel\\0' + x;\n obj.send(String.fromCharCode(6, 0, 0, 0) + IntToStr(x.length) + x);\n obj.onKvmDataAck = false;\n }\n }\n\n // Send a HWKVM keep alive if it's not been sent in the last 5 seconds.\n obj.sendKeepAlive = function () {\n if (obj.lastKeepAlive < Date.now() - 5000) { obj.lastKeepAlive = Date.now(); obj.send(String.fromCharCode(6, 0, 0, 0) + IntToStr(16) + '\\0KvmDataChannel\\0'); }\n }\n // ###END###{DesktopInband}\n\n obj.SendCtrlAltDelMsg = function () { obj.sendcad(); }\n obj.sendcad = function () { obj.sendkey([[0xFFE3, 1], [0xFFE9, 1], [0xFFFF, 1], [0xFFFF, 0], [0xFFE9, 0], [0xFFE3, 0]]); } // Control down, Alt down, Delete down, Delete up , Alt up , Control up\n\n var _MouseInputGrab = false;\n var _KeyInputGrab = false;\n\n obj.GrabMouseInput = function () {\n if (_MouseInputGrab == true) return;\n var c = obj.canvas.canvas;\n c.onmouseup = obj.mouseup;\n c.onmousedown = obj.mousedown;\n c.onmousemove = obj.mousemove;\n //if (navigator.userAgent.match(/mozilla/i)) c.DOMMouseScroll = obj.xxDOMMouseScroll; else c.onmousewheel = obj.xxMouseWheel;\n _MouseInputGrab = true;\n }\n\n obj.UnGrabMouseInput = function () {\n if (_MouseInputGrab == false) return;\n var c = obj.canvas.canvas;\n c.onmousemove = null;\n c.onmouseup = null;\n c.onmousedown = null;\n //if (navigator.userAgent.match(/mozilla/i)) c.DOMMouseScroll = null; else c.onmousewheel = null;\n _MouseInputGrab = false;\n }\n\n obj.GrabKeyInput = function () {\n if (_KeyInputGrab == true) return;\n document.onkeyup = obj.handleKeyUp;\n document.onkeydown = obj.handleKeyDown;\n document.onkeypress = obj.handleKeys;\n _KeyInputGrab = true;\n }\n\n obj.UnGrabKeyInput = function () {\n if (_KeyInputGrab == false) return;\n document.onkeyup = null;\n document.onkeydown = null;\n document.onkeypress = null;\n _KeyInputGrab = false;\n }\n\n obj.handleKeys = function (e) { return obj.haltEvent(e); }\n obj.handleKeyUp = function (e) { return _keyevent(0, e); }\n obj.handleKeyDown = function (e) { return _keyevent(1, e); }\n obj.haltEvent = function (e) { if (e.preventDefault) e.preventDefault(); if (e.stopPropagation) e.stopPropagation(); return false; }\n\n // RFB \"PointerEvent\" and mouse handlers\n obj.mousedblclick = function (e) { }\n obj.mousedown = function (e) { obj.buttonmask |= (1 << e.button); return obj.mousemove(e); }\n obj.mouseup = function (e) { obj.buttonmask &= (0xFFFF - (1 << e.button)); return obj.mousemove(e); }\n obj.mousemove = function (e) {\n if (obj.state != 4) return true;\n var pos = obj.getPositionOfControl(Q(obj.canvasid));\n obj.mx = (e.pageX - pos[0]) * (obj.canvas.canvas.height / Q(obj.canvasid).offsetHeight);\n obj.my = ((e.pageY - pos[1] + (scrolldiv ? scrolldiv.scrollTop : 0)) * (obj.canvas.canvas.width / Q(obj.canvasid).offsetWidth));\n\n // ###BEGIN###{DesktopRotation}\n if (obj.noMouseRotate != true) {\n obj.mx2 = _crotX(obj.mx, obj.my);\n obj.my = _crotY(obj.mx, obj.my);\n obj.mx = obj.mx2;\n }\n // ###END###{DesktopRotation}\n\n obj.send(String.fromCharCode(5, obj.buttonmask) + ShortToStr(obj.mx) + ShortToStr(obj.my));\n\n // ###BEGIN###{DesktopFocus}\n // Update focus area if we are in focus mode\n QV('DeskFocus', obj.focusmode);\n if (obj.focusmode != 0) {\n var x = Math.min(obj.mx, obj.canvas.canvas.width - obj.focusmode),\n y = Math.min(obj.my, obj.canvas.canvas.height - obj.focusmode),\n df = obj.focusmode * 2,\n c = Q(obj.canvasid),\n qx = c.offsetHeight / obj.canvas.canvas.height,\n qy = c.offsetWidth / obj.canvas.canvas.width,\n q = QS('DeskFocus'),\n ppos = obj.getPositionOfControl(Q(obj.canvasid).parentElement);\n q.left = (Math.max(((x - obj.focusmode) * qx), 0) + (pos[0] - ppos[0])) + 'px';\n q.top = (Math.max(((y - obj.focusmode) * qy), 0) + (pos[1] - ppos[1])) + 'px';\n q.width = ((df * qx) - 6) + 'px';\n q.height = ((df * qx) - 6) + 'px';\n }\n // ###END###{DesktopFocus}\n\n return obj.haltEvent(e);\n }\n\n obj.getPositionOfControl = function (Control) {\n var Position = Array(2);\n Position[0] = Position[1] = 0;\n while (Control) {\n Position[0] += Control.offsetLeft;\n Position[1] += Control.offsetTop;\n Control = Control.offsetParent;\n }\n return Position;\n }\n\n return obj;\n}\n\nexport {\n CreateAmtRemoteDesktop\n}\n","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceKVM.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceKVM.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceKVM.vue?vue&type=template&id=080974aa&scoped=true&\"\nimport script from \"./DeviceKVM.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceKVM.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceKVM.vue?vue&type=style&index=0&id=080974aa&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"080974aa\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('fullscreen',{model:{value:(_vm.fullscreen),callback:function ($$v) {_vm.fullscreen=$$v},expression:\"fullscreen\"}},[_c('card',{attrs:{\"external-card\":\"card material-card-overflow\"}},[_c('div',{staticClass:\"material-card-content has-margin-top\",style:(_vm.remoteContainerStyle),attrs:{\"slot\":\"external-footer\"},slot:\"external-footer\"},[_c('b-navbar',{style:(_vm.remoteDesktopNavbarsStyle),scopedSlots:_vm._u([{key:\"start\",fn:function(){return [_c('b-navbar-item',{attrs:{\"tag\":\"div\"}},[_c('div',{staticClass:\"buttons\"},[_c('portal-target',{attrs:{\"name\":\"rd-options\"}}),_c('b-button',{attrs:{\"id\":_vm.desktopState.connected ? 'wrtc-disconnect' : 'wrtc-connect',\"type\":\"is-primary\",\"disabled\":_vm.desktopState.connecting || !_vm.device.permissionsStatus\n || !_vm.device.permissionsStatus.capturePermission},on:{\"click\":function($event){_vm.desktopState.connected ? _vm.disconnectDesktop() : _vm.connectDesktop()}}},[_c('strong',[_vm._v(_vm._s(_vm.desktopState.buttonText))])])],1)]),_c('b-navbar-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.screenDisplayed),expression:\"screenDisplayed\"}],attrs:{\"tag\":\"div\"}},[_c('div',{staticClass:\"buttons\"},[_c('b-tooltip',{attrs:{\"label\":\"File tansfer\",\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-white\"},on:{\"click\":function($event){return _vm.openTransferFileModal()}}},[_c('b-icon',{attrs:{\"icon\":\"file-swap\"}})],1)],1),_c('b-tooltip',{attrs:{\"label\":\"Paste local clipboard\",\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-white\"},on:{\"click\":function($event){return _vm.sendLocalClipboard()}}},[_c('b-icon',{attrs:{\"icon\":\"content-paste\"}})],1)],1),_c('b-tooltip',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isWindows),expression:\"isWindows\"}],attrs:{\"label\":\"Ctrl+Alt+Del\",\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-white\"},on:{\"click\":function($event){return _vm.sendcad()}}},[_c('b-icon',{attrs:{\"icon\":\"keyboard\"}})],1)],1),_c('b-tooltip',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isWindows),expression:\"isWindows\"}],attrs:{\"label\":\"Ctrl+L (Lock PC)\",\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-white\"},on:{\"click\":function($event){return _vm.sendLock()}}},[_c('b-icon',{attrs:{\"icon\":\"account-lock\"}})],1)],1),_c('b-tooltip',{attrs:{\"label\":\"Take screenshot\",\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-white\"},on:{\"click\":function($event){return _vm.takeScreenshot()}}},[_c('b-icon',{attrs:{\"icon\":\"camera\"}})],1)],1),_c('b-tooltip',{attrs:{\"label\":_vm.isRecording ? 'Stop recording screen' : 'Record screen',\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":_vm.isRecording ? 'is-primary' : 'is-white'},on:{\"click\":function($event){_vm.isRecording ? _vm.stopRecording() : _vm.startRecording()}}},[_c('b-icon',{attrs:{\"icon\":\"record-rec\"}})],1)],1)],1)]),_c('b-navbar-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.screenDisplayed && _vm.device.osArch === 'x64' && _vm.isWindows),expression:\"screenDisplayed && device.osArch === 'x64' && isWindows\"}]},[_c('b-tooltip',{attrs:{\"label\":_vm.audioCallLabel,\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"id\":_vm.mediaStream ? 'audio-call-disconnect' : 'audio-call-connect',\"type\":_vm.mediaStream ? 'is-primary' : 'is-white',\"disabled\":_vm.blockStartAudioCall},on:{\"click\":function($event){_vm.mediaStream ? _vm.removeAudioCall() : _vm.addAudioCall()}}},[_c('b-icon',{attrs:{\"icon\":\"phone-in-talk\"}})],1)],1),(_vm.mediaStream)?_c('b-tooltip',{attrs:{\"label\":_vm.isMuted ? 'Unmute' : 'Mute',\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-white\",\"disabled\":!_vm.mediaStream},on:{\"click\":function($event){_vm.isMuted\n ? _vm.toggleMicInAudioCall(true) : _vm.toggleMicInAudioCall(false)}}},[(_vm.isMuted)?_c('b-icon',{attrs:{\"icon\":\"microphone-off\"}}):_c('b-icon',{attrs:{\"icon\":\"microphone\"}})],1)],1):_vm._e()],1)]},proxy:true},{key:\"end\",fn:function(){return [_c('b-navbar-item',{attrs:{\"tag\":\"div\"}},[_c('b-navbar-dropdown',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.screenDisplayed),expression:\"screenDisplayed\"}],scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('b-icon',{attrs:{\"icon\":\"monitor\"}}),_c('span',[_vm._v(\" \"+_vm._s(_vm.useLongNavbarVersion ? _vm.currentScreen.name : _vm.currentScreen.screenNumber))])]},proxy:true}])},_vm._l((_vm.screens),function(screen){return _c('b-navbar-item',{key:screen.screenNumber,attrs:{\"active\":screen.screenNumber === _vm.currentScreen.screenNumber},on:{\"click\":function($event){return _vm.changeScreen(screen)}}},[_c('b-icon',{attrs:{\"icon\":\"monitor\"}}),_c('span',[_vm._v(\" \"+_vm._s(screen.name))])],1)}),1),_c('b-navbar-dropdown',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('b-icon',{attrs:{\"icon\":_vm.currentPossibleResolution.icon}}),(_vm.useLongNavbarVersion)?_c('span',[_vm._v(_vm._s(_vm.currentPossibleResolution.name))]):_vm._e()]},proxy:true}])},_vm._l((_vm.possibleResolutions),function(possibleResolution){return _c('b-navbar-item',{key:possibleResolution.pixels,attrs:{\"active\":possibleResolution.pixels === _vm.currentPossibleResolution.pixels},on:{\"click\":function($event){return _vm.changeResolution(possibleResolution)}}},[_c('b-icon',{attrs:{\"icon\":possibleResolution.icon}}),_c('span',[_vm._v(_vm._s(possibleResolution.name))])],1)}),1),_c('b-navbar-dropdown',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('b-icon',{attrs:{\"icon\":_vm.currentFps.icon}}),(_vm.useLongNavbarVersion)?_c('span',[_vm._v(_vm._s(_vm.currentFps.name))]):_vm._e()]},proxy:true}])},_vm._l((_vm.possibleFps),function(fps){return _c('b-navbar-item',{key:fps.fps,attrs:{\"active\":fps.fps === _vm.currentFps.fps},on:{\"click\":function($event){return _vm.changeFPS(fps)}}},[_c('b-icon',{attrs:{\"icon\":fps.icon}}),_c('span',[_vm._v(_vm._s(fps.name))])],1)}),1)],1),_c('b-navbar-item',{attrs:{\"tag\":\"div\"}},[_c('b-tooltip',{attrs:{\"label\":_vm.captureMouse ? 'Hide remote cursor' :\n 'Show remote cursor',\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-white\"},on:{\"click\":function($event){_vm.captureMouse ? _vm.changeCaptureMouse(false) : _vm.changeCaptureMouse(true)}}},[(_vm.captureMouse)?_c('b-icon',{attrs:{\"icon\":\"cursor-default-gesture\"}}):_c('b-icon',{attrs:{\"icon\":\"cursor-default-gesture-outline\"}})],1)],1),_c('b-tooltip',{attrs:{\"label\":_vm.isInReadOnlyMode ? 'Change to interactive mode' :\n 'Change to read-only mode',\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-white\"},on:{\"click\":function($event){_vm.isInReadOnlyMode ? _vm.changeIsReadOnly(false) : _vm.changeIsReadOnly(true)}}},[(_vm.isInReadOnlyMode)?_c('b-icon',{attrs:{\"icon\":\"keyboard-off-outline\"}}):_c('b-icon',{attrs:{\"icon\":\"keyboard\"}})],1)],1),_c('b-tooltip',{attrs:{\"label\":_vm.fullscreen ? 'Exit full screen' :\n 'Full screen',\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-white\"},on:{\"click\":function($event){return _vm.toggleFullscreen()}}},[(_vm.fullscreen)?_c('b-icon',{attrs:{\"icon\":\"fullscreen-exit\"}}):_c('b-icon',{attrs:{\"icon\":\"fullscreen\"}})],1)],1)],1)]},proxy:true}])}),_c('div',{attrs:{\"id\":\"remote-screen\"}},[_c('b-loading',{attrs:{\"is-full-page\":false,\"active\":_vm.desktopState.connecting || _vm.desktopState.connected && !_vm.screenDisplayed,\"can-cancel\":false}}),_c('video',{staticStyle:{\"display\":\"none\",\"height\":\"0px\",\"width\":\"0px\"},attrs:{\"id\":\"desktop-video\",\"autoplay\":\"true\",\"playsinline\":\"\"}}),_c('audio',{staticStyle:{\"display\":\"none\",\"height\":\"0px\",\"width\":\"0px\"},attrs:{\"id\":\"desktop-audio\",\"autoplay\":\"true\"}}),_c('canvas',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.device.permissionsStatus && _vm.device.permissionsStatus.capturePermission),expression:\"device.permissionsStatus && device.permissionsStatus.capturePermission\"}],style:(_vm.canvasStyle),attrs:{\"id\":\"desktop-canvas\"},on:{\"contextmenu\":function($event){$event.preventDefault();}}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.device.permissionsStatus && _vm.device.permissionsStatus.capturePermission),expression:\"device.permissionsStatus && device.permissionsStatus.capturePermission\"}],staticStyle:{\"height\":\"10px\",\"overflow\":\"hidden\"}},[_c('input',{ref:\"desktopTextInput\",staticStyle:{\"width\":\"10px\",\"height\":\"10px\",\"opacity\":\"0\"},attrs:{\"id\":\"desktop-text-input\",\"type\":\"text\",\"autocomplete\":\"off\"}})])],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.device.permissionsStatus || !_vm.device.permissionsStatus.capturePermission),expression:\"!device.permissionsStatus || !device.permissionsStatus.capturePermission\"}],staticStyle:{\"padding\":\"60px 0px\"}},[_c('p',{staticStyle:{\"font-size\":\"20px\",\"margin\":\"12px\"}},[_vm._v(\" Privacy permissions are disabled, enable them to connect. \")]),_c('button',{class:{ 'button': true, 'is-primary': true},on:{\"click\":function($event){return _vm.crossHelper.openExternalLink('https://help.boardgent.com/articles/4895813-how-to-enable-screen-recording-on-mac', true)}}},[_c('span',[_vm._v(\"Learn how to enable privacy permissions\")])]),_vm._v(\" \"),_c('br'),_c('br'),_vm._v(\" \"),_c('button',{class:{ 'button': true, 'is-primary': true},on:{\"click\":_vm.reviewPermissions}},[_c('span',[_vm._v(\"Check permissions\")])])]),_c('b-modal',{attrs:{\"slot\":\"footer\",\"parent\":this,\"active\":_vm.fileTransferModalOpen,\"has-modal-card\":\"\",\"width\":\"90vw\"},on:{\"update:active\":function($event){_vm.fileTransferModalOpen=$event}},slot:\"footer\"},[_c('transferFile',{attrs:{\"title\":'File transfer',\"device-name\":_vm.device.name,\"folders\":_vm.fileTransferRemoteFolders,\"is-read-only\":_vm.fileTransferReadOnlyPath,\"custom-message\":_vm.customMessage,\"path-to-dir\":_vm.fileTransferRemotePath,\"transfering-file\":_vm.transferingFile,\"progress-bar-message\":_vm.progressBarMessage,\"percentage-file-transferred\":_vm.percentageFileTransferred,\"is-canceling\":_vm.isCanceling,\"on-get-remote-file\":(selectedFile) => _vm.getRemoteFile(selectedFile),\"on-send-to-remote-file\":(selectedFile) => _vm.verifyFileSizeOnRemote(selectedFile),\"on-cancel-file-transfer\":(cancelObject) => _vm.cancelFileTransfer(cancelObject),\"on-navigate-to\":(folderName) => _vm.navigateToFolder(folderName)}})],1)],1)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceWRTC.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceWRTC.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceWRTC.vue?vue&type=template&id=ef1be268&scoped=true&\"\nimport script from \"./DeviceWRTC.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceWRTC.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceWRTC.vue?vue&type=style&index=0&id=ef1be268&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ef1be268\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('div',{staticClass:\"columns is-multiline\",staticStyle:{\"text-align\":\"center\"}},[_c('div',{staticClass:\"column\"},[_c('h1',{staticClass:\"plan-title-text\"},[_vm._v(\" Unlock Intel® AMT KVM \")]),_c('div',{staticClass:\"plan-content\"},[_vm._m(0),_c('router-link',{staticClass:\"button is-primary purchase-plan-button\",attrs:{\"to\":{ name: 'upgradeplan'}}},[_vm._v(\" Upgrade Now \")])],1)])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"plan-section-div\"},[_c('p',{staticClass:\"plan-text\"},[_vm._v(\" To use Intel® AMT KVM upgrade to one of our paid plans. \")])])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotAuthorizedForAMTActions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotAuthorizedForAMTActions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NotAuthorizedForAMTActions.vue?vue&type=template&id=20306cab&scoped=true&\"\nimport script from \"./NotAuthorizedForAMTActions.vue?vue&type=script&lang=js&\"\nexport * from \"./NotAuthorizedForAMTActions.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NotAuthorizedForAMTActions.vue?vue&type=style&index=0&id=20306cab&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"20306cab\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceRemoteDesktop.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceRemoteDesktop.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceRemoteDesktop.vue?vue&type=template&id=876acec8&\"\nimport script from \"./DeviceRemoteDesktop.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceRemoteDesktop.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.validateIfHasCapability([\n _vm.planCapabilities.LOCAL_PASSWORD_MANAGER.value,\n ]))?_c('div',[(_vm.validateIfHasPermission([\n _vm.permissions.SEE_LOCAL_PASSWORDS.value.dbValue,\n _vm.permissions.LOCAL_PASSWORD_EXECUTIONS.value.dbValue]))?_c('card',{attrs:{\"external-card\":\"material-card mb-3\"}},[_c('b-collapse',{staticClass:\"card\",attrs:{\"slot\":\"external-header\",\"open\":false},slot:\"external-header\",scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('card',{attrs:{\"internal-card\":\"card-header\",\"style-internal-header\":\"display:flex; width:100%\",\"style-internal-card\":\"display:flex;flex-direction:row;justify-content:space-between\"}},[_c('p',{staticClass:\"card-header-title header-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(\" Operating system local administrator \")]),_c('a',{staticClass:\"card-header-icon\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(props.open),expression:\"props.open\"}],attrs:{\"icon\":\"menu-up\"}}),_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.open),expression:\"!props.open\"}],attrs:{\"icon\":\"menu-down\"}})],1)])}}],null,false,3160644126)},[_c('card',{attrs:{\"internal-card\":\"material-card-content\"}},[_c('div',{staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"header\"},slot:\"header\"},[(_vm.activeProfile.localAccountPasswordAutoChange)?_c('b-message',{staticStyle:{\"margin-bottom\":\"8px\"},attrs:{\"type\":\"is-success\"}},[_c('p',{staticClass:\"center-vertically-action-button\"},[_c('span',[_vm._v(\" Boardgent changes this password automatically every \"+_vm._s(_vm.frecuenciesArray .find( (frequency) => frequency.minutes === _vm.activeProfile.localAccountPasswordAge) .name)+\". You can change this behavior in settings of the \"),_c('router-link',{attrs:{\"to\":{ name: 'group', params: { profileId: _vm.activeProfile.id }}}},[_vm._v(\" \"+_vm._s(_vm.activeProfile.name)+\" \")]),_vm._v(\" device group. \")],1)])]):_c('b-message',{staticStyle:{\"margin-bottom\":\"8px\"},attrs:{\"type\":\"is-warning\"}},[_c('p',{staticClass:\"center-vertically-action-button\"},[_c('span',[_vm._v(\" There is not enabled an automatic password change. You can enable it in settings of the \"),_c('router-link',{attrs:{\"to\":{ name: 'group', params: { profileId: _vm.activeProfile.id }}}},[_vm._v(_vm._s(_vm.activeProfile.name))]),_vm._v(\" device group. \")],1)])]),(_vm.localAccount && _vm.localAccount.isManagementPaused)?_c('b-message',{staticStyle:{\"margin-bottom\":\"8px\"},attrs:{\"type\":\"is-danger\"}},[_c('p',{staticClass:\"center-vertically-action-button\"},[_c('span',[_c('span',[_vm._v(\" \"+_vm._s(_vm.localPasswordManagementPausedError)+\" \")]),_c('br')]),_c('button',{staticClass:\"button is-primary is-pulled-right\",on:{\"click\":_vm.resumeLocalPasswordManagement}},[_vm._v(\" Confirm \")])])]):_vm._e(),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('p',{staticClass:\"centerVertically informationText\"},[_c('strong',[_vm._v(\"Username: \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.localAccount && _vm.localAccount.username ? _vm.localAccount.username : 'Unknown')+\" \")])]),(_vm.passwordChangeLastSuccessResultTimeStamp\n && _vm.localAccount.passwordChangeLastResult !== _vm.programmerAgentErrors\n .LOCAL_ACCOUNT_NOT_FOUND.value.message)?_c('p',{staticClass:\"centerVertically informationText\"},[_c('strong',[_vm._v(\"Current password: \")]),(_vm.localAccountPassword)?_c('span',{staticClass:\"password-style material-card-content is-size-7-mobile is-rounded\"},_vm._l((_vm.localAccountPassword.split('')),function(letter,index){return _c('span',{key:index,class:_vm.getClass(letter)},[_vm._v(\" \"+_vm._s(letter)+\" \")])}),0):_c('span',[_vm._v(\" ********** \")]),(_vm.validateIfHasPermission(\n [_vm.permissions.SEE_LOCAL_PASSWORDS.value.dbValue]\n ))?_c('section',[(!_vm.localAccountPassword)?_c('b-button',{staticClass:\"button is-small is-primary ml-1\",class:{'is-loading': _vm.isGettinglocalAccountPassword },attrs:{\"icon-left\":\"eye\"},on:{\"click\":function($event){return _vm.validateIfNeedReason('Local Account Password',\n _vm.getLocalAccountPassword)}}},[_vm._v(\" Reveal \")]):_c('b-button',{staticClass:\"button is-small is-primary\",attrs:{\"icon-left\":\"eye-off\"},on:{\"click\":_vm.getLocalAccountPassword}},[_vm._v(\" Conceal \")]),(_vm.localAccountPassword)?_c('b-button',{directives:[{name:\"clipboard\",rawName:\"v-clipboard:copy\",value:(_vm.localAccountPassword),expression:\"localAccountPassword\",arg:\"copy\"}],staticClass:\"button is-small is-primary is-outlined ml-1\",attrs:{\"icon-left\":\"clipboard-outline\"},on:{\"click\":_vm.showToastCopy}},[_vm._v(\" Copy \")]):_vm._e()],1):_vm._e()]):_vm._e()]),_c('div',{staticClass:\"column\"},[_c('div',[_c('p',{staticClass:\"informationText\"},[_c('strong',[_vm._v(\"Last change: \")]),(_vm.passwordChangeLastSuccessResultTimeStamp)?_c('span',[_c('timeago',{attrs:{\"since\":_vm.passwordChangeLastSuccessResultTimeStamp,\"no-future\":\"\"}})],1):_c('span',[_vm._v(\" Never \")])]),(_vm.localAccount && _vm.localAccount.passwordChangeLastResult\n && _vm.localAccount.passwordChangeLastResult !== 'Success')?_c('p',{staticClass:\"informationText\"},[_c('strong',[_vm._v(\"Last change attempt: \")]),(_vm.passwordChangeLastResultTimeStamp)?_c('span',[_c('timeago',{attrs:{\"since\":_vm.passwordChangeLastResultTimeStamp,\"no-future\":\"\"}})],1):_c('span',[_vm._v(\" Never \")])]):_vm._e(),(_vm.localAccount && _vm.localAccount.passwordChangeLastResult\n && _vm.localAccount.passwordChangeLastResult !== 'Success')?_c('p',[_c('strong',[_vm._v(\"Last change attempt result: \")]),_vm._v(\" \"+_vm._s(_vm.localAccount.passwordChangeLastResult)+\" \")]):_vm._e(),(_vm.localAccount)?_c('p',{staticClass:\"centerVertically informationText\"},[_c('strong',[_vm._v(\"Next automatic change: \")]),(_vm.localPasswordExpirationDate)?_c('span',[(_vm.isDeviceOnline || _vm.localPasswordExpirationDate.isAfter())?_c('span',[_c('timeago',{attrs:{\"since\":_vm.localPasswordExpirationDate.toISOString(),\"no-past\":\"\"}})],1):_c('span',[_vm._v(\" When the device goes online \")])]):_c('span',[_vm._v(\" Not set \")])]):_vm._e()])])]),_c('hr'),_c('div',{staticStyle:{\"display\":\"flex\",\"flex-wrap\":\"wrap\",\"gap\":\"8px\",\"justify-content\":\"center\"}},[(_vm.validateIfHasPermission([_vm.permissions.SEE_LOCAL_PASSWORDS.value.dbValue]))?_c('b-button',{staticClass:\"button is-primary\",class:{'is-loading': _vm.isGettingLocalUserPasswordHistory },staticStyle:{\"margin-right\":\"10px\"},attrs:{\"icon-left\":\"eye\"},on:{\"click\":function($event){return _vm.validateIfNeedReason('Local Account Password History',\n _vm.getLocalUserPasswordHistory)}}},[_c('span',{staticClass:\"is-size-7-mobile\"},[_vm._v(\"Reveal history\")])]):_vm._e(),(_vm.validateIfHasPermission(\n [_vm.permissions.LOCAL_PASSWORD_EXECUTIONS.value.dbValue]\n ))?_c('button',{staticClass:\"button is-primary\",on:{\"click\":_vm.expiratelocalAccountPassword}},[_c('span',{staticClass:\"is-size-7-mobile\"},[_vm._v(\"Change password now\")])]):_vm._e()],1)],1)])],1)],1):_vm._e()],1):_vm._e(),(_vm.biosVendorIsSupported(_vm.device.vendor) && _vm.validateIfHasCapability([\n _vm.planCapabilities.BIOS_PASSWORD_MANAGER.value, ]) && _vm.validateIfHasPermission([\n _vm.permissions.SEE_BIOS_PASSWORDS.value.dbValue,\n _vm.permissions.BIOS_MANAGEMENT_EXECUTIONS.value.dbValue]) && _vm.device.OSVendor === 'Microsoft' )?_c('div',{staticClass:\"mb-3\"},[_c('card',{attrs:{\"external-card\":\"material-card mb-3\"}},[_c('b-collapse',{staticClass:\"card\",attrs:{\"slot\":\"external-header\",\"open\":false},slot:\"external-header\",scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('card',{attrs:{\"internal-card\":\"card-header\",\"style-internal-header\":\"display:flex; width:100%\",\"style-internal-card\":\"display:flex;flex-direction:row;justify-content:space-between\"}},[_c('p',{staticClass:\"card-header-title header-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(\" BIOS or UEFI administrator \")]),_c('a',{staticClass:\"card-header-icon\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(props.open),expression:\"props.open\"}],attrs:{\"icon\":\"menu-up\"}}),_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.open),expression:\"!props.open\"}],attrs:{\"icon\":\"menu-down\"}})],1)])}}],null,false,2320586238)},[_c('card',{attrs:{\"internal-card\":\"material-card-content\"}},[_c('div',{staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('p',{staticClass:\"informationText\"},[_c('b-icon',{attrs:{\"icon\":\"checkbox-blank-circle\",\"type\":Object.values(_vm.biosPasswordRequirements)\n .filter(x => x === false).length === 0\n ? 'is-success' : (Object.values(_vm.biosPasswordRequirements)\n .filter(x => x === false)\n .length === 4 ? 'is-danger' : 'is-warning'),\"size\":\"is-small\"}}),_c('strong',[_vm._v(\" \"+_vm._s(`Boardgent ${Object.values(_vm.biosPasswordRequirements) .some(x => !x) ? 'cannot' : 'can'} manage the BIOS password of this device `)+\" \")])],1),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('p',{staticClass:\"informationText\"},[_c('b-icon',{attrs:{\"icon\":\"checkbox-blank-circle\",\"type\":_vm.biosPasswordRequirements.haveWmiClasses ? 'is-success' : 'is-danger',\"size\":\"is-small\"}}),_c('span',[_vm._v(\" Have installed the WMI classes to manage BIOS \")])],1)]),_c('div',{staticClass:\"column\"},[_c('p',{staticClass:\"informationText\"},[_c('b-icon',{attrs:{\"icon\":\"checkbox-blank-circle\",\"type\":_vm.biosPasswordRequirements.passwordInBios ? 'is-success' : 'is-danger',\"size\":\"is-small\"}}),_c('span',[_vm._v(\" Password set in BIOS \")])],1)])]),(Object.values(_vm.biosPasswordRequirements)\n .filter(x => x === false).length === 0)?_c('div',[_c('hr'),(_vm.activeProfile.biosPasswordAutoChange)?_c('b-message',{staticStyle:{\"margin-bottom\":\"8px\"},attrs:{\"type\":\"is-success\"}},[_c('p',[_c('span',[_vm._v(\" Boardgent changes this password automatically every \"+_vm._s(_vm.frecuenciesArray .find( (frequency) => frequency.minutes === _vm.activeProfile.biosPasswordAge) .name)+\". You can change this behavior in settings of the \"),_c('router-link',{attrs:{\"to\":{ name: 'group', params: { profileId: _vm.activeProfile.id }}}},[_vm._v(_vm._s(_vm.activeProfile.name))]),_vm._v(\" device group. \")],1)])]):_c('b-message',{staticStyle:{\"margin-bottom\":\"8px\"},attrs:{\"type\":\"is-warning\"}},[_c('p',{staticClass:\"center-vertically-action-button\"},[_c('span',[_vm._v(\" There is not enabled an automatic password change. You can enable it in settings of the \"),_c('router-link',{attrs:{\"to\":{ name: 'group', params: { profileId: _vm.activeProfile.id }}}},[_vm._v(_vm._s(_vm.activeProfile.name))]),_vm._v(\" device group. \")],1)])]),(_vm.device.biosManagementPaused)?_c('b-message',{staticStyle:{\"margin-bottom\":\"8px\"},attrs:{\"type\":\"is-danger\"}},[_c('p',{staticClass:\"center-vertically-action-button\"},[_c('span',[_c('span',[_vm._v(\" \"+_vm._s(_vm.biosManagementPausedError)+\" \")]),_c('br'),_c('span',[_vm._v(\" BIOS response: \"+_vm._s(_vm.device.biosPasswordValidation)+\" \")])]),_c('button',{staticClass:\"button is-primary is-pulled-right\",on:{\"click\":_vm.resumeBiosManagement}},[_vm._v(\" Confirm \")])])]):_vm._e(),(_vm.biosErrors.length > 0)?_c('b-message',{attrs:{\"type\":\"is-danger\"}},_vm._l((_vm.biosErrors),function(error){return _c('p',{key:error},[_vm._v(\" \"+_vm._s(error)+\" \")])}),0):_vm._e(),(_vm.biosWarnings.length > 0)?_c('b-message',{attrs:{\"type\":\"is-warning\"}},_vm._l((_vm.biosWarnings),function(warning){return _c('p',{key:warning},[_vm._v(\" \"+_vm._s(warning)+\" \")])}),0):_vm._e(),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('div',[(_vm.isDeviceOnline && _vm.restartToApply\n && _vm.biosPasswordLastSuccessResultTimeStamp && _vm.device.backupBiosPassword)?_c('p',{staticClass:\"centerVertically informationText\"},[_c('strong',[_vm._v(\"Password before restart: \")]),(_vm.backupBiosPassword)?_c('span',{staticClass:\"password-style material-card-content is-size-7-mobile is-rounded\"},_vm._l((_vm.backupBiosPassword.split('')),function(letter,index){return _c('span',{key:index,class:_vm.getClass(letter)},[_vm._v(\" \"+_vm._s(letter)+\" \")])}),0):_c('span',[_vm._v(\" ********** \")]),(_vm.validateIfHasPermission(\n [_vm.permissions.SEE_BIOS_PASSWORDS.value.dbValue]\n ))?_c('section',[(!_vm.backupBiosPassword)?_c('b-button',{staticClass:\"button is-small is-primary\",class:{'is-loading': _vm.isGettingBackupBiosPassword },attrs:{\"icon-left\":\"eye\"},on:{\"click\":function($event){return _vm.validateIfNeedReason('BIOS password before restart',\n _vm.getBackupBiosPassword)}}},[_vm._v(\" Reveal \")]):_c('b-button',{staticClass:\"button is-small is-primary\",attrs:{\"icon-left\":\"eye-off\"},on:{\"click\":_vm.getBackupBiosPassword}},[_vm._v(\" Conceal \")]),(_vm.backupBiosPassword)?_c('b-button',{directives:[{name:\"clipboard\",rawName:\"v-clipboard:copy\",value:(_vm.backupBiosPassword),expression:\"backupBiosPassword\",arg:\"copy\"}],staticClass:\"button is-small is-primary is-outlined\",attrs:{\"icon-left\":\"clipboard-outline\"},on:{\"click\":_vm.showToastCopy}},[_vm._v(\" Copy \")]):_vm._e()],1):_vm._e()]):_vm._e(),(_vm.biosPasswordLastSuccessResultTimeStamp)?_c('p',{staticClass:\"centerVertically informationText\"},[_c('strong',[_vm._v(_vm._s(_vm.isDeviceOnline && _vm.restartToApply ? 'Password after restart' : 'Current password')+\" : \")]),(_vm.biosPassword)?_c('span',{staticClass:\"password-style material-card-content is-size-7-mobile is-rounded\"},_vm._l((_vm.biosPassword.split('')),function(letter,index){return _c('span',{key:index,class:_vm.getClass(letter)},[_vm._v(\" \"+_vm._s(letter)+\" \")])}),0):_c('span',[_vm._v(\" ********** \")]),(_vm.validateIfHasPermission(\n [_vm.permissions.SEE_BIOS_PASSWORDS.value.dbValue]\n ))?_c('section',[(!_vm.biosPassword)?_c('b-button',{staticClass:\"button is-small is-primary ml-1\",class:{'is-loading': _vm.isGettingBiosPassword },attrs:{\"icon-left\":\"eye\"},on:{\"click\":function($event){return _vm.validateIfNeedReason('BIOS Password', _vm.getBiosPassword)}}},[_vm._v(\" Reveal \")]):_c('b-button',{staticClass:\"button is-small is-primary\",attrs:{\"icon-left\":\"eye-off\"},on:{\"click\":_vm.getBiosPassword}},[_vm._v(\" Conceal \")]),(_vm.biosPassword)?_c('button',{directives:[{name:\"clipboard\",rawName:\"v-clipboard:copy\",value:(_vm.biosPassword),expression:\"biosPassword\",arg:\"copy\"}],staticClass:\"button is-small is-primary is-outlined ml-1\",attrs:{\"icon-left\":\"clipboard-outline\"},on:{\"click\":_vm.showToastCopy}},[_vm._v(\" Copy \")]):_vm._e()],1):_vm._e()]):_vm._e(),(!_vm.biosPasswordLastSuccessResultTimeStamp)?_c('p',{staticClass:\"centerVertically informationText\"},[_c('strong',[_vm._v(\"Current password: \")]),_c('span',[_vm._v(\" Unknown \")])]):_vm._e()])]),_c('div',{staticClass:\"column\"},[_c('div',[_c('p',{staticClass:\"informationText\"},[_c('strong',[_vm._v(\"Last change: \")]),(_vm.biosPasswordLastSuccessResultTimeStamp)?_c('span',[_c('timeago',{attrs:{\"since\":_vm.biosPasswordLastSuccessResultTimeStamp,\"no-future\":\"\"}})],1):_c('span',[_vm._v(\" Never \")])]),(_vm.device.biosPasswordChangeLastResult\n && _vm.device.biosPasswordChangeLastResult !== 'Success')?_c('p',{staticClass:\"informationText\"},[_c('strong',[_vm._v(\"Last change attempt: \")]),(_vm.biosPasswordLastResultTimeStamp)?_c('span',[_c('timeago',{attrs:{\"since\":_vm.biosPasswordLastResultTimeStamp,\"no-future\":\"\"}})],1):_c('span',[_vm._v(\" Never \")])]):_vm._e(),(_vm.device.biosPasswordChangeLastResult\n && _vm.device.biosPasswordChangeLastResult !== 'Success')?_c('p',[_c('strong',[_vm._v(\"Last change attempt result: \")]),_vm._v(\" \"+_vm._s(_vm.device.biosPasswordChangeLastResult)+\" \")]):_vm._e(),(_vm.device)?_c('p',{staticClass:\"centerVertically informationText\"},[_c('strong',[_vm._v(\"Next automatic change: \")]),(_vm.device.biosManagementPaused)?_c('span',[_vm._v(\" Paused until password is confirmed \")]):(_vm.biosExpirationDate)?_c('span',[((_vm.isDeviceOnline && !_vm.restartRequired)\n || _vm.biosExpirationDate.isAfter())?_c('span',[_c('timeago',{attrs:{\"since\":_vm.biosExpirationDate.toISOString(),\"no-past\":\"\"}})],1):(_vm.isDeviceOnline && _vm.restartRequired\n && _vm.biosExpirationDate.isBefore())?_c('span',[_vm._v(\" In the next reboot \")]):_c('span',[_vm._v(\" When the device goes online \")])]):_c('span',[_vm._v(\"Not set\")])]):_vm._e()])])]),_c('hr'),_c('div',{staticStyle:{\"display\":\"flex\",\"flex-wrap\":\"wrap\",\"gap\":\"8px\",\"justify-content\":\"center\"}},[(_vm.validateIfHasPermission(\n [_vm.permissions.SEE_BIOS_PASSWORDS.value.dbValue]\n ))?_c('b-button',{staticClass:\"button is-primary\",class:{'is-loading': _vm.isGettingBiosPasswordHistory },staticStyle:{\"margin-right\":\"10px\"},attrs:{\"icon-left\":\"eye\"},on:{\"click\":function($event){return _vm.validateIfNeedReason('BIOS Password History',\n _vm.getBiosPasswordHistory)}}},[_c('span',{staticClass:\"is-size-7-mobile\"},[_vm._v(\"Reveal History\")])]):_vm._e(),(_vm.validateIfHasPermission(\n [_vm.permissions.LOCAL_PASSWORD_EXECUTIONS.value.dbValue]\n ))?_c('button',{staticClass:\"button is-primary\",on:{\"click\":_vm.expirateBiosPassword}},[_c('span',{staticClass:\"is-size-7-mobile\"},[_vm._v(\"Change password now\")])]):_vm._e()],1)],1):_vm._e()])])],1)],1)],1):_vm._e(),(_vm.validateIfHasPermission([_vm.permissions.SEE_AMT_PASSWORDS.value.dbValue,\n _vm.permissions.AMT_MANAGEMENT_EXECUTIONS.value.dbValue])\n && _vm.validateIfHasCapability([_vm.planCapabilities.AMT_MANAGEMENT.value])\n && _vm.amtInfo && _vm.amtInfo.amtPassword\n && _vm.amtInfo.amtStatus !== _vm.amtStatus.UNCONFIGURED.value.dbValue)?_c('div',{staticClass:\"mb-3\"},[_c('card',{attrs:{\"external-card\":\"material-card\"}},[_c('b-collapse',{staticClass:\"card\",attrs:{\"slot\":\"external-header\",\"open\":false},slot:\"external-header\",scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('card',{attrs:{\"internal-card\":\"card-header\",\"style-internal-header\":\"display:flex; width:100%\",\"style-internal-card\":\"display:flex;flex-direction:row;justify-content:space-between\"}},[_c('p',{staticClass:\"card-header-title header-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(\" Intel® vPro AMT administrator \")]),_c('a',{staticClass:\"card-header-icon\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(props.open),expression:\"props.open\"}],attrs:{\"icon\":\"menu-up\"}}),_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.open),expression:\"!props.open\"}],attrs:{\"icon\":\"menu-down\"}})],1)])}}],null,false,1555615740)},[_c('card',{attrs:{\"internal-card\":\"material-card-content\"}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('p',[_c('strong',[_vm._v(\"Username: \")]),_vm._v(\"admin\")]),_c('p',{staticClass:\"centerVertically informationText\"},[_c('strong',[_vm._v(\"Current password: \")]),(_vm.amtPassword)?_c('span',{staticClass:\"password-style material-card-content is-size-7-mobile is-rounded\"},_vm._l((_vm.amtPassword.split('')),function(letter,index){return _c('span',{key:index,class:_vm.getClass(letter)},[_vm._v(\" \"+_vm._s(letter)+\" \")])}),0):_c('span',[_vm._v(\" ********** \")]),(_vm.validateIfHasPermission(\n [_vm.permissions.SEE_AMT_PASSWORDS.value.dbValue]\n ))?_c('section',[(!_vm.amtPassword)?_c('b-button',{staticClass:\"button is-small is-primary ml-1\",class:{'is-loading': _vm.isGettingAmtPassword },attrs:{\"icon-left\":\"eye\"},on:{\"click\":function($event){return _vm.validateIfNeedReason('AMT Password', _vm.getAmtPassword)}}},[_vm._v(\" Reveal \")]):_c('b-button',{staticClass:\"button is-small is-primary\",attrs:{\"icon-left\":\"eye-off\"},on:{\"click\":_vm.getAmtPassword}},[_vm._v(\" Conceal \")]),(_vm.amtPassword)?_c('b-button',{directives:[{name:\"clipboard\",rawName:\"v-clipboard:copy\",value:(_vm.amtPassword),expression:\"amtPassword\",arg:\"copy\"}],staticClass:\"button is-small is-primary is-outlined ml-1\",attrs:{\"icon-left\":\"clipboard-outline\"},on:{\"click\":_vm.showToastCopy}},[_vm._v(\" Copy \")]):_vm._e()],1):_vm._e()])])])],1)],1)],1):_vm._e(),_c('b-modal',{attrs:{\"slot\":\"footer\",\"parent\":this,\"active\":_vm.isLocalUserPasswordHistoryVisible,\"has-modal-card\":\"\"},on:{\"update:active\":function($event){_vm.isLocalUserPasswordHistoryVisible=$event}},slot:\"footer\"},[_c('devicePasswordHistory',{attrs:{\"title\":\"Local user\",\"service\":\"local-user-password\"}})],1),_c('b-modal',{attrs:{\"slot\":\"footer\",\"parent\":this,\"active\":_vm.isBiosPasswordHistoryVisible,\"has-modal-card\":\"\"},on:{\"update:active\":function($event){_vm.isBiosPasswordHistoryVisible=$event}},slot:\"footer\"},[_c('devicePasswordHistory',{attrs:{\"title\":\"Bios\",\"service\":\"bios-password\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('card',{attrs:{\"internal-card\":\"modal-card card modal-material-card\",\"url-help\":\"\"}},[_c('div',{staticClass:\"modal-card-header\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('p',[_vm._v(_vm._s(_vm.title)+\" Password History\")])]),_c('section',{staticClass:\"modal-card-body\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',[_c('p',{staticClass:\"mb-1\"},[_vm._v(\" Filter by date \")]),_c('b-datepicker',{staticClass:\"dateRange is-outlined dropdown\",attrs:{\"max-date\":new Date(),\"placeholder\":\"Date range\",\"icon\":\"calendar-today\",\"mobile-native\":false,\"range\":\"\"},model:{value:(_vm.datesRange),callback:function ($$v) {_vm.datesRange=$$v},expression:\"datesRange\"}}),_c('b-tooltip',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isActiveFilter),expression:\"isActiveFilter\"}],staticClass:\"ml-2\",staticStyle:{\"border-radius\":\"4px\"},attrs:{\"label\":\"Reset filters\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-primary\"},on:{\"click\":_vm.clearFilters}},[_c('b-icon',{attrs:{\"icon\":\"filter-off\"}})],1)],1)],1),_c('b-table',{staticStyle:{\"font-weight\":\"400\"},attrs:{\"data\":_vm.itemsToReturn,\"loading\":_vm.items.length === 0 && _vm.isFindServicePending,\"backend-pagination\":\"\",\"mobile-cards\":false,\"default-sort\":\"applicationDate\",\"default-sort-direction\":\"desc\",\"paginated\":_vm.totalData > _vm.limitItems,\"per-page\":_vm.limitItems,\"total\":_vm.totalData},on:{\"page-change\":_vm.changePagination}},[_c('b-table-column',{attrs:{\"field\":\"applicationDate\",\"label\":\"Date\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('timeago',{attrs:{\"since\":props.row.applicationDate,\"no-future\":\"\"}})]}}])}),_c('b-table-column',{attrs:{\"field\":\"password\",\"label\":\"Password\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('span',{staticClass:\"password-style material-card-content is-size-7-mobile is-rounded\"},_vm._l((props.row.password.split('')),function(letter,index){return _c('span',{key:index,class:_vm.getClass(letter)},[_vm._v(\" \"+_vm._s(letter)+\" \")])}),0)]}}])}),_c('b-table-column',{attrs:{\"field\":\"actions\",\"label\":\"Actions\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('button',{directives:[{name:\"clipboard\",rawName:\"v-clipboard:copy\",value:(props.row.password),expression:\"props.row.password\",arg:\"copy\"}],staticClass:\"button is-small is-primary is-outlined\",on:{\"click\":_vm.showToastCopy}},[_c('span',{staticClass:\"icon is-small\"},[_c('b-icon',{attrs:{\"icon\":\"clipboard-outline\",\"size\":\"is-small\"}})],1),_c('span',[_vm._v(\"Copy\")])])]}}])}),_c('template',{slot:\"empty\"},[_c('section',{staticClass:\"section\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[_c('p',[_c('b-icon',{attrs:{\"icon\":\"file\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\" There is no password history \"),(_vm.isActiveFilter)?_c('span',[_vm._v(\"to show with these filters\")]):_vm._e()])])])])],2)],1),_c('footer',{staticClass:\"card-footer has-text-centered modal-card-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('button',{staticClass:\"button is-danger force-right\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.$parent.close()}}},[_vm._v(\" Close \")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DevicePasswordHistory.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DevicePasswordHistory.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DevicePasswordHistory.vue?vue&type=template&id=39b6cd2c&scoped=true&style=width%3A%20auto&\"\nimport script from \"./DevicePasswordHistory.vue?vue&type=script&lang=js&\"\nexport * from \"./DevicePasswordHistory.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DevicePasswordHistory.vue?vue&type=style&index=0&id=39b6cd2c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"39b6cd2c\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DevicePasswordManager.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DevicePasswordManager.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DevicePasswordManager.vue?vue&type=template&id=415d25a6&scoped=true&\"\nimport script from \"./DevicePasswordManager.vue?vue&type=script&lang=js&\"\nexport * from \"./DevicePasswordManager.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DevicePasswordManager.vue?vue&type=style&index=0&id=415d25a6&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"415d25a6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"columns is-desktop\"},[_c('card',{staticClass:\"column\",attrs:{\"internal-card\":\"card material-card\",\"url-help\":\"\"}},[_c('section',{staticClass:\"modal-card-body\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('p',[_c('strong',[_vm._v(\"Manufacturer: \")]),_vm._v(\" \"+_vm._s(_vm.device.vendor))]),_c('p',[(_vm.device.model)?_c('strong',[_vm._v(\"Model: \")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.device.model))]),(_vm.device.type !== _vm.deviceTypesEnum.UNKNOWN.value.dbValue)?_c('p',[_c('strong',[_vm._v(\"Type: \")]),_vm._v(\" \"+_vm._s(_vm.deviceTypesEnum.enums.find(x => x.value.dbValue === _vm.device.type).value.name)+\" \")]):_vm._e(),_c('p',[_c('strong',[_vm._v(\"Serial: \")]),_vm._v(\" \"+_vm._s(_vm.device.hardwareSerial))]),_c('p',[_c('strong',[_vm._v(\"Agent version: \")]),_c('span',[_vm._v(_vm._s(_vm.device.agentVersion)+\" \")]),(_vm.agentLastVersion !== '0.0.0' && _vm.deviceGroup.agentVersion)?_c('span',[(_vm.currentCompany.planCapabilities.includes(_vm.planCapabilitiesEnum\n .FIXED_AGENT_VERSION.value))?_c('span',[(_vm.semverUi.compare(_vm.agentLastVersion, _vm.device.agentVersion) > 0\n && _vm.device.status === _vm.deviceStatusEnum.ONLINE.value.dbValue)?_c('a',{staticClass:\"is-text link-style\",on:{\"click\":function($event){return _vm.updateAgent({\n companyId: _vm.currentCompany.id,\n deviceId: _vm.device.id,\n userId: _vm.$store.getters['auth/user'].id,\n })}}},[_vm._v(\" Update now \")]):_c('a',{staticClass:\"is-text link-style\",on:{\"click\":function($event){return _vm.crossHelper.openExternalLink('https://help.boardgent.com/articles/4600207-how-the-auto-update-works', true);}}},[_vm._v(\" \"+_vm._s(0 >= _vm.semverUi.compare(_vm.agentLastVersion, _vm.device.agentVersion) ? 'Latest' : 'Outdated')+\" \")])]):_c('span',[(_vm.deviceGroup.agentVersion === '0')?_c('span',[(_vm.semverUi.compare(_vm.agentLastVersion, _vm.device.agentVersion) > 0\n && _vm.device.status === _vm.deviceStatusEnum.ONLINE.value.dbValue)?_c('a',{staticClass:\"is-text link-style\",on:{\"click\":function($event){return _vm.updateAgent({\n companyId: _vm.currentCompany.id,\n deviceId: _vm.device.id,\n userId: _vm.$store.getters['auth/user'].id,\n })}}},[_vm._v(\" Update now \")]):_c('a',{staticClass:\"is-text link-style\",on:{\"click\":function($event){return _vm.crossHelper.openExternalLink('https://help.boardgent.com/articles/4600207-how-the-auto-update-works', true);}}},[_vm._v(\" \"+_vm._s(0 >= _vm.semverUi.compare(_vm.agentLastVersion, _vm.device.agentVersion) ? 'Latest' : 'Outdated')+\" \")])]):_c('span',[(_vm.device.status === _vm.deviceStatusEnum.ONLINE.value.dbValue)?_c('a',{staticClass:\"is-text link-style\",on:{\"click\":function($event){return _vm.updateAgent({\n companyId: _vm.currentCompany.id,\n deviceId: _vm.device.id,\n userId: _vm.$store.getters['auth/user'].id,\n })}}},[_vm._v(\" \"+_vm._s(0 >= _vm.semverUi.compare(_vm.deviceGroup.agentVersion, _vm.device.agentVersion) ? 'Latest' : 'Update now')+\" \")]):_c('a',{staticClass:\"is-text link-style\",on:{\"click\":function($event){return _vm.crossHelper.openExternalLink('https://help.boardgent.com/articles/4600207-how-the-auto-update-works', true);}}},[_vm._v(\" \"+_vm._s(0 >= _vm.semverUi.compare(_vm.deviceGroup.agentVersion, _vm.device.agentVersion) ? 'Latest' : 'Outdated')+\" \")])])])]):_vm._e()]),_c('p',{staticStyle:{\"display\":\"inline-block\"}},[_c('strong',[_vm._v(\"Agent: \")]),_c('DeviceStatus',{attrs:{\"status\":_vm.getAgentColorStatus(_vm.device.status)}}),(_vm.device.status === _vm.deviceStatusEnum.ONLINE.value.dbValue)?_c('span',[_vm._v(\" Connected \")]):_c('span',[_vm._v(\" Disconnected \"),_c('timeago',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.device.lastSeen),expression:\"device.lastSeen\"}],attrs:{\"since\":_vm.device.lastSeen,\"no-future\":\"\",\"no-date\":\"\"}})],1)],1),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.device.status === _vm.deviceStatusEnum.ONLINE.value.dbValue\n || _vm.device.lastSeen),expression:\"device.status === deviceStatusEnum.ONLINE.value.dbValue\\n || device.lastSeen\"}]},[_c('strong',[_vm._v(\"Agent last seen date: \")]),(_vm.device.status === _vm.deviceStatusEnum.ONLINE.value.dbValue)?_c('span',[_vm._v(\" Right Now \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(_vm.device.lastSeen))+\" \")])]),(_vm.validateIfHasCapability([_vm.planCapabilitiesEnum.AMT_MANAGEMENT.value]))?_c('p',{staticStyle:{\"display\":\"inline-block\"}},[_c('strong',[_vm._v(\"AMT: \")]),(_vm.device.OSVendor === 'Apple' || !_vm.device.amtVersion\n || _vm.device.amtVersion === '0')?_c('span',[_c('DeviceStatus',{attrs:{\"status\":_vm.deviceStatusColorEnum.GRAY}}),_vm._v(\" Not supported \")],1):(_vm.amtInfo)?_c('span',[_c('DeviceStatus',{attrs:{\"status\":_vm.getAMTColorStatus(_vm.amtInfo.amtStatus)}}),_c('span',[_vm._v(\" \"+_vm._s(_vm.amtStatusEnum.enums.find(x => x.value.dbValue === _vm.amtInfo.amtStatus) .value.name)+\" \")]),(_vm.amtInfo\n && _vm.amtInfo.amtLastSeen\n && _vm.amtInfo.amtStatus === _vm.amtStatusEnum.OFFLINE.value.dbValue)?_c('timeago',{attrs:{\"since\":_vm.amtInfo.amtLastSeen,\"no-future\":\"\",\"no-date\":\"\"}}):_vm._e()],1):_c('span',[_c('DeviceStatus',{attrs:{\"status\":_vm.deviceStatusColorEnum.BLUE}}),_vm._v(\" Not provisioned \")],1)]):_vm._e(),(_vm.validateIfHasCapability([_vm.planCapabilitiesEnum.AMT_MANAGEMENT.value])\n && _vm.amtInfo && _vm.amtInfo.amtLastSeen\n && _vm.amtInfo.amtStatus !== _vm.amtStatusEnum.CIRA_NOT_SUPPORTED.value.dbValue\n && _vm.amtInfo.amtStatus !== _vm.amtStatusEnum.UNCONFIGURED.value.dbValue)?_c('p',[_c('strong',[_vm._v(\"AMT Last seen date:\")]),(_vm.amtInfo.amtStatus === _vm.amtStatusEnum.ONLINE.value.dbValue ||\n _vm.amtInfo.amtStatus === _vm.amtStatusEnum.CONNECTION_ERROR.value.dbValue)?_c('span',[_vm._v(\" Right Now \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(_vm.amtInfo.amtLastSeen))+\" \")])]):_vm._e(),_c('p',[_c('strong',[_vm._v(\"Managed since: \")]),_c('span',[_vm._v(_vm._s(_vm._f(\"moment\")(_vm.device.createdAt,false)))])]),(_vm.device.status === _vm.deviceStatusEnum.ONLINE.value.dbValue)?_c('p',[_c('strong',[_vm._v(\"Uptime: \")]),_c('span',[(_vm.device.uptime)?_c('timeago',{attrs:{\"since\":_vm.device.uptime,\"interval\":1000,\"format\":\"HH:mm:ss\",\"no-future\":\"\",\"no-date\":\"\"}}):_vm._e()],1)]):_vm._e()])]),_c('card',{staticClass:\"column\",attrs:{\"internal-card\":\"card material-card\",\"url-help\":\"\"}},[_c('section',{staticClass:\"modal-card-body\",staticStyle:{\"padding-top\":\"15px\"},attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('b-field',{attrs:{\"label\":\"Device group\"}},[_c('searchable-dropdown',{staticClass:\"group-dropdown\",attrs:{\"dropdown-properties\":{\n id: 'deviceGroup',\n filterKey: 'id',\n propertyToShow: 'name',\n label: _vm.deviceGroup.name,\n showStatus: false,\n icon: {\n showIcon: false,\n },\n canSelectMultiple: false,\n customSort: false,\n expanded: true,\n markAsActive: false,\n },\"filter-objects\":_vm.deviceGroups,\"on-update-parameters\":_vm.changeAssociatedDeviceGroup}})],1),_c('b-field',{attrs:{\"label\":\"Description\"}},[_c('b-input',{attrs:{\"placeholder\":\"Add a description to this device\",\"expanded\":\"\"},nativeOn:{\"change\":function($event){return _vm.saveDescription.apply(null, arguments)}},model:{value:(_vm.description),callback:function ($$v) {_vm.description=$$v},expression:\"description\"}})],1),_c('b-field',{attrs:{\"label\":\"Tags\"}},[_c('b-taginput',{attrs:{\"value\":_vm.tagData,\"add\":_vm.saveTags,\"ellipsis\":\"\",\"icon\":\"label\",\"placeholder\":\"Add tags to classify devices\",\"expanded\":\"\"},on:{\"input\":_vm.LowerCaseTags}})],1)],1)])],1),_c('div',{staticClass:\"is-flex\",staticStyle:{\"justify-content\":\"space-around\"},attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showRemoveButton),expression:\"!showRemoveButton\"}],attrs:{\"size\":\"is-small\",\"icon-left\":\"delete\",\"type\":\"is-danger\"},on:{\"click\":_vm.openRemoveDeviceModal}},[_vm._v(\" Remove this device \")])],1),_c('b-loading',{attrs:{\"is-full-page\":\"\",\"active\":_vm.isRemovingDevice,\"can-cancel\":false}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceOverview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceOverview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceOverview.vue?vue&type=template&id=73a7013e&\"\nimport script from \"./DeviceOverview.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceOverview.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.validateIfHasCapability([_vm.planCapabilities.DISK_ENCRYPTION.value]))?_c('div',{staticClass:\"mb-3\"},[_c('card',{attrs:{\"external-card\":\"material-card-overflow\"}},[_c('b-collapse',{attrs:{\"slot\":\"external-header\",\"open\":false},on:{\"open\":function($event){_vm.isCardOpen = true},\"close\":function($event){_vm.isCardOpen = false}},slot:\"external-header\",scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('card',{attrs:{\"internal-card\":_vm.isCardOpen ? 'card-header' : '',\"style-internal-header\":\"display:flex; width:100%\",\"style-internal-card\":\"display:flex;flex-direction:row;justify-content:space-between\"}},[_c('p',{staticClass:\"card-header-title header-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(\" BitLocker Device Encryption \")]),_c('a',{staticClass:\"card-header-icon\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(props.open),expression:\"props.open\"}],attrs:{\"icon\":\"menu-up\"}}),_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.open),expression:\"!props.open\"}],attrs:{\"icon\":\"menu-down\"}})],1)])}}],null,false,2159114363)},[_c('card',{attrs:{\"internal-card\":\"material-card-content\"}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('p',{staticClass:\"informationText\"},[_c('b-icon',{attrs:{\"icon\":\"checkbox-blank-circle\",\"type\":_vm.bitLockerCanBeEnabled.color,\"size\":\"is-small\"}}),_c('strong',[_vm._v(\" \"+_vm._s(_vm.bitLockerCanBeEnabled.message)+\" \")])],1),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('p',{staticClass:\"informationText\"},[_c('b-icon',{attrs:{\"icon\":\"checkbox-blank-circle\",\"type\":_vm.bitlockerRequirements.tpm === _vm.requirementStatusEnum.GOOD.value\n ? 'is-success' : 'is-danger',\"size\":\"is-small\"}}),(_vm.deviceHardwareInStore.length > 0 && _vm.deviceHardwareInStore[0].version)?_c('span',[_vm._v(\" TPM \"+_vm._s(parseFloat(_vm.deviceHardwareInStore[0].version).toFixed(1))+\" \")]):_c('span',[_vm._v(\" TPM 1.2 or higher \")])],1),(_vm.bitlockerRequirements.uefi !== undefined)?_c('p',{staticClass:\"informationText\"},[_c('b-icon',{attrs:{\"icon\":\"checkbox-blank-circle\",\"type\":_vm.bitlockerRequirements.uefi === _vm.requirementStatusEnum.GOOD.value\n ? 'is-success' : 'is-danger',\"size\":\"is-small\"}}),_c('span',[_vm._v(\" UEFI boot type \")])],1):_vm._e(),_c('p',{staticClass:\"informationText\"},[_c('b-icon',{attrs:{\"icon\":\"checkbox-blank-circle\",\"type\":_vm.bitlockerRequirements.bitlockerInstalled\n === _vm.requirementStatusEnum.GOOD.value ? 'is-success' : 'is-danger',\"size\":\"is-small\"}}),_c('span',[_vm._v(\" BitLocker installed\")])],1)]),_c('div',{staticClass:\"column\"},[(_vm.bitlockerRequirements.gpt !== undefined)?_c('p',{staticClass:\"informationText\"},[_c('b-icon',{attrs:{\"icon\":\"checkbox-blank-circle\",\"type\":_vm.bitlockerRequirements.gpt === _vm.requirementStatusEnum.GOOD.value\n ? 'is-success' : 'is-danger',\"size\":\"is-small\"}}),_c('span',[_vm._v(\" GPT partition table\")])],1):_vm._e(),_c('p',{staticClass:\"informationText\"},[_c('b-icon',{attrs:{\"icon\":\"checkbox-blank-circle\",\"type\":_vm.bitlockerRequirements.systemPartition\n === _vm.requirementStatusEnum.GOOD.value ? 'is-success' : 'is-danger',\"size\":\"is-small\"}}),_c('span',[_vm._v(\" System partition created\")])],1)])]),(_vm.bitLockerCanBeEnabled.encryptable && _vm.diskPartitionsInStore.length > 0)?_c('div',[_c('div',{staticClass:\"mb-5\",staticStyle:{\"display\":\"flex\",\"flex-wrap\":\"wrap\",\"gap\":\"8px\"}},[_c('b-tooltip',{staticClass:\"lock-tooltip\",attrs:{\"active\":!_vm.bitLockerCanBeEnabled.osEncryptable,\"label\":_vm.bitLockerCanBeEnabled.messageLock,\"position\":\"is-top\",\"type\":\"is-dark\"}},[(_vm.validateIfHasPermission(\n [_vm.permissions.GEOLOCATION_AND_LOCK_EXECUTIONS.value.dbValue]\n ))?_c('b-button',{staticClass:\"is-danger\",attrs:{\"disabled\":!_vm.bitLockerCanBeEnabled.osEncryptable},on:{\"click\":_vm.confirmLockDevice}},[_vm._v(\" Lock device \")]):_vm._e()],1),_c('b-tooltip',{staticClass:\"lock-tooltip\",attrs:{\"active\":_vm.diskPartitionsInStore.filter(x => x.letter !== null)\n .every(x=> x.bitlockerStatus === _vm.bitlockerStatusEnum.FullyDecrypted.value),\"label\":\"There are no encrypted partitions to get passwords from\",\"position\":\"is-top\",\"type\":\"is-dark\"}},[(_vm.validateIfHasPermission(\n [_vm.permissions.ENCRYPTION_EXECUTIONS.value.dbValue]\n ))?_c('b-button',{staticClass:\"button is-secondary\",attrs:{\"disabled\":_vm.diskPartitionsInStore.filter(x => x.letter !== null)\n .every(x=> x.bitlockerStatus === _vm.bitlockerStatusEnum.FullyDecrypted.value)},on:{\"click\":function($event){return _vm.getBitlockerKeys()}}},[_vm._v(\" Refresh passwords \")]):_vm._e()],1),(_vm.validateIfHasPermission(\n [_vm.permissions.ENCRYPTION_EXECUTIONS.value.dbValue]\n ))?_c('b-button',{staticClass:\"button is-primary\",on:{\"click\":function($event){return _vm.refreshRequirements()}}},[_vm._v(\" Refresh requirements \")]):_vm._e(),(_vm.validateIfHasPermission(\n [_vm.permissions.ENCRYPTION_EXECUTIONS.value.dbValue]\n ) && _vm.diskPartitionsInStore.filter(x => x.letter !== null)\n .some(x=> x.bitlockerStatus !== _vm.bitlockerStatusEnum.FullyEncrypted.value &&\n x.bitlockerStatus !== _vm.bitlockerStatusEnum.EncryptionInProgress.value))?_c('b-button',{staticClass:\"button is-primary\",on:{\"click\":function($event){return _vm.encrypt()}}},[_vm._v(\" Encrypt all \")]):_vm._e(),(_vm.validateIfHasPermission(\n [_vm.permissions.ENCRYPTION_EXECUTIONS.value.dbValue]\n ) && _vm.diskPartitionsInStore.filter(x => x.letter !== null)\n .some(x=> x.bitlockerStatus !== _vm.bitlockerStatusEnum.FullyDecrypted.value &&\n x.bitlockerStatus !== _vm.bitlockerStatusEnum.DecryptionInProgress.value))?_c('b-button',{staticClass:\"button is-primary\",on:{\"click\":function($event){return _vm.decrypt()}}},[_vm._v(\" Decrypt all \")]):_vm._e()],1),_c('p',[_c('strong',[_vm._v(\"Bitlocker passwords\")])]),_c('card',{attrs:{\"internal-card\":\"material-card-content\"}},[_c('b-table',{staticClass:\"principal-table bitlocker-table\",staticStyle:{\"margin-top\":\"1rem\",\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"data\":_vm.diskPartitionsInStore.filter(partition => partition.letter !== null\n && partition.letter !== '' && partition.isSystemPartition !== true\n && !partition.isDynamic),\"detailed\":\"\",\"scrollable\":\"\",\"mobile-cards\":true,\"row-class\":(row) => _vm.calculateRowClass(row)},slot:\"body\",scopedSlots:_vm._u([{key:\"detail\",fn:function(props){return (props.row.bitlockerStatus !== _vm.bitlockerStatusEnum.FullyDecrypted.value &&\n _vm.storeBitlockerPasswords.some((password) => password.isActive &&\n password.diskPartitionId === props.row.id))?[_c('b-table',{staticClass:\"inner-table\",attrs:{\"data\":_vm.storeBitlockerPasswords.filter(password => password.isActive &&\n password.diskPartitionId === props.row.id),\"mobile-cards\":false,\"scrollable\":\"\"}},[_c('b-table-column',{attrs:{\"field\":\"keyProtectorType\",\"label\":\"Key Id\"},scopedSlots:_vm._u([{key:\"default\",fn:function(propsDetails){return [_vm._v(\" \"+_vm._s(propsDetails.row.keyProtectorId)+\" \")]}}],null,true)}),_c('b-table-column',{attrs:{\"field\":\"keyProtectorType\",\"label\":\"Type\"},scopedSlots:_vm._u([{key:\"default\",fn:function(propsDetails){return [_vm._v(\" \"+_vm._s(propsDetails.row.keyProtectorType)+\" \")]}}],null,true)}),_c('b-table-column',{attrs:{\"field\":\"recoveryPassword\",\"label\":\"Password\",\"max-width\":\"40px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(propsDetails){return [(_vm.bitlockerRecoveryPassword[propsDetails.row.id])?_c('span',{staticClass:\"password-style material-card-content is-size-7-mobile is-rounded\"},_vm._l(((propsDetails.row.recoveryPassword\n || propsDetails.row.password)),function(letter,index){return _c('span',{key:index,class:`${_vm.getClass(letter)} mb-2`},[_vm._v(\" \"+_vm._s(letter)+\" \")])}),0):_vm._e(),(_vm.validateIfHasPermission(\n [_vm.permissions.SEE_BITLOCKER_PASSWORDS.value.dbValue]\n ) && _vm.bitlockerRecoveryPassword[propsDetails.row.id])?_c('b-button',{directives:[{name:\"clipboard\",rawName:\"v-clipboard:copy\",value:(_vm.bitlockerRecoveryPassword[propsDetails.row.id]),expression:\"bitlockerRecoveryPassword[propsDetails.row.id]\",arg:\"copy\"}],staticClass:\"button is-small is-primary is-outlined\",attrs:{\"icon-left\":\"clipboard-outline\"},on:{\"click\":_vm.showToastCopy}},[_vm._v(\" Copy \")]):_vm._e(),(_vm.validateIfHasPermission(\n [_vm.permissions.SEE_BITLOCKER_PASSWORDS.value.dbValue]\n ) && !_vm.bitlockerRecoveryPassword[propsDetails.row.id])?_c('b-button',{staticClass:\"is-primary is-small\",class:{'is-loading': _vm.isGettingBitlockerRecoveryPassword[\n propsDetails.row.id] },attrs:{\"icon-left\":\"eye\"},on:{\"click\":function($event){return _vm.validateIfNeedReason(\n 'BitLocker recovery password', _vm.getBitlockerRecoveryPassword,\n propsDetails.row)}}},[_vm._v(\" Reveal \")]):(_vm.validateIfHasPermission(\n [_vm.permissions.SEE_BITLOCKER_PASSWORDS.value.dbValue]\n ) && _vm.bitlockerRecoveryPassword[propsDetails.row.id])?_c('b-button',{staticClass:\"button is-small is-primary ml-1\",attrs:{\"icon-left\":\"eye-off\"},on:{\"click\":function($event){return _vm.getBitlockerRecoveryPassword(propsDetails.row)}}},[_vm._v(\" Conceal \")]):_c('span',[_vm._v(\"********\")])]}}],null,true)}),_c('b-table-column',{attrs:{\"field\":\"createdAt\",\"label\":\"First detection\"},scopedSlots:_vm._u([{key:\"default\",fn:function(propsDetails){return [_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(propsDetails.row.createdAt))+\" \")]}}],null,true)}),_c('b-table-column',{attrs:{\"field\":\"lastDetection\",\"label\":\"Last detection\"},scopedSlots:_vm._u([{key:\"default\",fn:function(propsDetails){return [_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(propsDetails.row.lastDetection ? propsDetails.row.lastDetection : propsDetails.row.createdAt))+\" \")]}}],null,true)})],1)]:undefined}}],null,true)},[_c('b-table-column',{attrs:{\"field\":\"letter\",\"label\":\"Partition\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.letter)+\" \"),(props.row.isBootPartition)?_c('b-tag',{staticClass:\"ml-1\",attrs:{\"rounded\":\"\"}},[_c('b',[_vm._v(\"OS Partition\")])]):_vm._e()]}}],null,false,8415937)}),_c('b-table-column',{attrs:{\"field\":\"bitlockerStatus\",\"label\":\"BitLocker status\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [(props.row.bitlockerStatus === null\n || props.row.bitlockerStatus === undefined)?_c('span',[_vm._v(\" \"+_vm._s(_vm.bitlockerStatusEnum.Unknown.key.replace(/([A-Z])/g, ' $1'))+\" \")]):([_vm.bitlockerStatusEnum.None.value,\n _vm.bitlockerStatusEnum.Locked.value]\n .indexOf(props.row.bitlockerStatus) !== -1\n && _vm.storeBitlockerPasswords.some((password) => password.isActive &&\n password.diskPartitionId === props.row.id))?_c('span',[_vm._v(\" \"+_vm._s(_vm.bitlockerStatusEnum.FullyEncrypted.key.replace(/([A-Z])/g, ' $1'))+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.bitlockerStatusEnum.enums.find((x) => x.value === props.row.bitlockerStatus).key.replace(/([A-Z])/g, ' $1'))+\" \")]),([\n _vm.bitlockerStatusEnum.EncryptionInProgress.value,\n _vm.bitlockerStatusEnum.DecryptionInProgress.value,\n ].indexOf(props.row.bitlockerStatus) !== -1)?_c('span',[_vm._v(\" \"+_vm._s(props.row.encryptionPercentage)+\"% \")]):_vm._e()]}}],null,false,3732767752)}),(_vm.diskPartitionsInStore.some(x => x.encryptionMethod\n !== _vm.encryptionMethodEnum.Unknown.value.dbValue))?_c('b-table-column',{attrs:{\"field\":\"encryptionMethod\",\"label\":\"Encryption method\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_vm.encryptionMethodEnum.enums.find(x => x.value.dbValue === props.row.encryptionMethod).value.name)+\" \")]}}],null,false,342899006)}):_vm._e(),(_vm.diskPartitionsInStore.filter(x => x.letter !== null)\n .some(x => x.bitlockerStatus !== _vm.bitlockerStatusEnum.FullyDecrypted.value\n && x.protectionStatus !== null))?_c('b-table-column',{attrs:{\"field\":\"protectionStatus\",\"label\":\"Protection status\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.protectionStatus !== null ? _vm.protectionStatusEnum.enums.find( x => x.value.dbValue === props.row.protectionStatus).value.name : '')+\" \")]}}],null,false,2379026066)}):_vm._e(),(_vm.diskPartitionsInStore.some(\n x => x.autoUnlockStatus !== _vm.autoUnlockStatusEnum.Unknown.value.dbValue))?_c('b-table-column',{attrs:{\"field\":\"autoUnlockStatus\",\"label\":\"Auto-unlock\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.isBootPartition ? '' : _vm.autoUnlockStatusEnum.enums.find( x => x.value.dbValue === props.row.autoUnlockStatus).value.name)+\" \")]}}],null,false,2199530481)}):_vm._e(),(_vm.validateIfHasPermission(\n [_vm.permissions.ENCRYPTION_EXECUTIONS.value.dbValue,\n _vm.permissions.SEE_BITLOCKER_PASSWORDS.value.dbValue]\n ))?_c('b-table-column',{attrs:{\"field\":\"actions\",\"label\":\"Actions\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('div',{staticStyle:{\"display\":\"flex\",\"flex-wrap\":\"wrap\",\"gap\":\"4px\"}},[(_vm.validateIfHasPermission(\n [_vm.permissions.ENCRYPTION_EXECUTIONS.value.dbValue]\n ) &&[\n _vm.bitlockerStatusEnum.EncryptionInProgress.value,\n _vm.bitlockerStatusEnum.DecryptionInProgress.value,\n ].indexOf(props.row.bitlockerStatus) !== -1)?_c('b-button',{staticClass:\"button is-small is-primary\",on:{\"click\":function($event){return _vm.pause(props.row)}}},[_vm._v(\" Pause \")]):_vm._e(),(_vm.validateIfHasPermission(\n [_vm.permissions.ENCRYPTION_EXECUTIONS.value.dbValue]\n ) && [\n _vm.bitlockerStatusEnum.EncryptionSuspended.value,\n _vm.bitlockerStatusEnum.DecryptionSuspended.value,\n ].indexOf(props.row.bitlockerStatus) !== -1)?_c('b-button',{staticClass:\"button is-small is-primary\",on:{\"click\":function($event){return _vm.resume(props.row)}}},[_vm._v(\" Resume \")]):_vm._e(),(_vm.validateIfHasPermission(\n [_vm.permissions.ENCRYPTION_EXECUTIONS.value.dbValue]\n ) && props.row.protectionStatus === _vm.protectionStatusEnum.Unprotected.value\n .dbValue && props.row.bitlockerStatus === _vm.bitlockerStatusEnum\n .FullyEncrypted.value)?_c('b-button',{staticClass:\"button is-small is-primary\",on:{\"click\":function($event){return _vm.enableProtection(props.row)}}},[_vm._v(\" Protect \")]):_vm._e(),(_vm.validateIfHasPermission(\n [_vm.permissions.ENCRYPTION_EXECUTIONS.value.dbValue]\n ) && props.row.protectionStatus === _vm.protectionStatusEnum.Protected.value\n .dbValue && props.row.bitlockerStatus === _vm.bitlockerStatusEnum\n .FullyEncrypted.value)?_c('b-button',{staticClass:\"button is-small is-primary\",on:{\"click\":function($event){return _vm.disableProtection(props.row)}}},[_vm._v(\" Unprotect \")]):_vm._e(),(_vm.validateIfHasPermission(\n [_vm.permissions.ENCRYPTION_EXECUTIONS.value.dbValue]\n ) && [\n _vm.bitlockerStatusEnum.FullyEncrypted.value,\n _vm.bitlockerStatusEnum.EncryptionInProgress.value,\n _vm.bitlockerStatusEnum.EncryptionSuspended.value,\n _vm.bitlockerStatusEnum.Locked.value,\n _vm.bitlockerStatusEnum.None.value,\n ].indexOf(props.row.bitlockerStatus) === -1)?_c('b-tooltip',{attrs:{\"active\":props.row.isBootPartition && !_vm.bitLockerCanBeEnabled\n .osEncryptable,\"label\":_vm.bitLockerCanBeEnabled.osErrorMessage,\"position\":\"is-top\",\"type\":\"is-dark\"}},[_c('b-button',{staticClass:\"is-primary is-small\",attrs:{\"disabled\":props.row.isBootPartition\n && !_vm.bitLockerCanBeEnabled.osEncryptable},on:{\"click\":function($event){return _vm.validateIfOSPartitionIsEncrypted(_vm.encrypt, props.row)}}},[_vm._v(\" Encrypt \")])],1):_vm._e(),(_vm.validateIfHasPermission(\n [_vm.permissions.ENCRYPTION_EXECUTIONS.value.dbValue]\n ) && [\n _vm.bitlockerStatusEnum.FullyDecrypted.value,\n _vm.bitlockerStatusEnum.DecryptionInProgress.value,\n _vm.bitlockerStatusEnum.DecryptionSuspended.value,\n ].indexOf(props.row.bitlockerStatus) === -1)?_c('b-button',{staticClass:\"is-primary is-small\",on:{\"click\":function($event){return _vm.decrypt(props.row)}}},[_vm._v(\" Decrypt \")]):_vm._e(),(_vm.validateIfHasPermission(\n [_vm.permissions.SEE_BITLOCKER_PASSWORDS.value.dbValue]\n ))?_c('b-button',{staticClass:\"button is-secondary is-small\",class:{'is-loading': _vm.isGettingBitlockerPasswordHistory\n [props.row.letter]},attrs:{\"icon-left\":\"eye\"},on:{\"click\":function($event){return _vm.validateIfNeedReason('BitLocker password history',\n _vm.getBitlockerPasswordHistory, props.row)}}},[_vm._v(\" Reveal history \")]):_vm._e(),(_vm.validateBitlockerAutoUnlock(props.row, true))?_c('b-button',{staticClass:\"is-primary is-small\",on:{\"click\":function($event){return _vm.enableAutoUnlock(props.row)}}},[_vm._v(\" Enable auto-unlock \")]):_vm._e(),(_vm.validateBitlockerAutoUnlock(props.row, false))?_c('b-button',{staticClass:\"is-primary is-small\",on:{\"click\":function($event){return _vm.disableAutoUnlock(props.row)}}},[_vm._v(\" Disable auto-unlock \")]):_vm._e()],1)]}}],null,false,3053565229)}):_vm._e()],1)],1)],1):_vm._e()])])],1)],1),_c('b-modal',{attrs:{\"slot\":\"footer\",\"parent\":this,\"active\":_vm.isBitlockerPasswordHistoryVisible,\"has-modal-card\":\"\"},on:{\"update:active\":function($event){_vm.isBitlockerPasswordHistoryVisible=$event}},slot:\"footer\"},[_c('bitlockerPasswordHistory',{attrs:{\"disk-partition\":_vm.activeBitlockerPartition}})],1),_c('portal',{attrs:{\"to\":\"modal-container\"}},[_c('execution-modal',{attrs:{\"component\":_vm.LockDeviceParameters,\"select-action\":_vm.executeActionEnum.LOCK_DEVICE.value,\"selected-devices\":[_vm.device.id]},model:{value:(_vm.isExecuteModalActive),callback:function ($$v) {_vm.isExecuteModalActive=$$v},expression:\"isExecuteModalActive\"}})],1),_c('portal',{attrs:{\"to\":\"lock-device-button\"}},[_c('b-tooltip',{staticClass:\"lock-tooltip\",attrs:{\"active\":!_vm.bitLockerCanBeEnabled.osEncryptable,\"label\":_vm.bitLockerCanBeEnabled.messageLock,\"position\":\"is-top\",\"type\":\"is-dark\"}},[(_vm.validateIfHasPermission(\n [_vm.permissions.GEOLOCATION_AND_LOCK_EXECUTIONS.value.dbValue]\n ))?_c('b-button',{staticClass:\"mb-5 is-danger\",attrs:{\"disabled\":!_vm.bitLockerCanBeEnabled.osEncryptable},on:{\"click\":_vm.confirmLockDevice}},[_vm._v(\" Lock Device \")]):_vm._e()],1)],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('card',{attrs:{\"internal-card\":\"card modal-material-card modal-card bitlocker-modal\",\"url-help\":\"\"}},[_c('div',{staticClass:\"modal-card-header\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('p',[_vm._v(\"BitLocker password history on \"+_vm._s(_vm.diskPartition.letter))])]),_c('section',{staticClass:\"modal-card-body\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',[_c('p',{staticClass:\"mb-1\"},[_vm._v(\" Filter by date \")]),_c('b-datepicker',{staticClass:\"dateRange is-outlined dropdown\",attrs:{\"max-date\":new Date(),\"placeholder\":\"Date range\",\"icon\":\"calendar-today\",\"mobile-native\":false,\"range\":\"\"},model:{value:(_vm.datesRange),callback:function ($$v) {_vm.datesRange=$$v},expression:\"datesRange\"}}),_c('b-tooltip',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isActiveFilter),expression:\"isActiveFilter\"}],staticClass:\"ml-2\",staticStyle:{\"border-radius\":\"4px\"},attrs:{\"label\":\"Reset filters\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-primary\"},on:{\"click\":_vm.clearFilters}},[_c('b-icon',{attrs:{\"icon\":\"filter-off\"}})],1)],1)],1),_c('b-table',{staticStyle:{\"font-weight\":\"400\"},attrs:{\"data\":_vm.items,\"mobile-cards\":false,\"backend-pagination\":\"\",\"default-sort\":\"createdAt\",\"default-sort-direction\":\"desc\",\"loading\":_vm.items.length === 0 && _vm.isFindServicePending,\"total\":_vm.totalData,\"per-page\":_vm.limitItems,\"paginated\":_vm.totalData > _vm.limitItems},on:{\"page-change\":_vm.changePagination}},[_c('b-table-column',{attrs:{\"field\":\"createdAt\",\"label\":\"Date\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(props.row.createdAt))+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"lastDetection\",\"label\":\"Last detection\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(props.row.lastDetection ? props.row.lastDetection : props.row.createdAt))+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"keyProtectorId\",\"label\":\"Key protector Id\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.keyProtectorId)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"keyProtectorType\",\"label\":\"Key protector type\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.keyProtectorType)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"recoveryPassword || password\",\"label\":\"Password\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('div',{},[_c('span',{staticClass:\"password-style material-card-content is-size-7-mobile is-rounded\"},_vm._l(((props.row.recoveryPassword || props.row.password)),function(letter,index){return _c('span',{key:index,class:_vm.getClass(letter)},[_vm._v(\" \"+_vm._s(letter)+\" \")])}),0),_c('button',{directives:[{name:\"clipboard\",rawName:\"v-clipboard:copy\",value:(props.row.recoveryPassword || props.row.password),expression:\"props.row.recoveryPassword || props.row.password\",arg:\"copy\"}],staticClass:\"button is-small is-primary is-outlined\",on:{\"click\":_vm.showToastCopy}},[_c('span',{staticClass:\"icon is-small\"},[_c('b-icon',{attrs:{\"icon\":\"clipboard-outline\",\"size\":\"is-small\"}})],1),_c('span',[_vm._v(\"Copy\")])])])]}}])}),_c('template',{slot:\"empty\"},[_c('section',{staticClass:\"section\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[_c('p',[_c('b-icon',{attrs:{\"icon\":\"file\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"There is no BitLocker password history\")])])])])],2)],1),_c('footer',{staticClass:\"card-footer has-text-centered modal-card-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('button',{staticClass:\"button is-danger force-right\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.$parent.close()}}},[_vm._v(\" Close \")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceBitlockerPasswordHistory.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceBitlockerPasswordHistory.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceBitlockerPasswordHistory.vue?vue&type=template&id=65923a96&scoped=true&style=width%3A%20auto&\"\nimport script from \"./DeviceBitlockerPasswordHistory.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceBitlockerPasswordHistory.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceBitlockerPasswordHistory.vue?vue&type=style&index=0&id=65923a96&prod&lang=css&\"\nimport style1 from \"./DeviceBitlockerPasswordHistory.vue?vue&type=style&index=1&id=65923a96&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"65923a96\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-modal',{ref:\"modal\",attrs:{\"active\":_vm.isActive,\"has-modal-card\":\"\",\"on-cancel\":_vm.onClose,\"parent\":this}},[_c('card',{attrs:{\"external-card\":\"modal-material-card card material-card-overflow\"}},[_c('div',{staticClass:\"material-card-content\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c(_vm.component,{tag:\"component\",attrs:{\"parent\":this,\"title\":_vm.selectAction.name,\"on-update-parameters\":_vm.updateParameters,\"selected-devices\":_vm.selectedDevices,\"on-result\":_vm.onResultBeforeExecuteAction,\"is-from-modal\":true}})],1),_c('div',{staticClass:\"card-footer modal-card-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('b-button',{staticClass:\"force-right\",on:{\"click\":_vm.onClose}},[_vm._v(\" Cancel \")]),_c('b-button',{staticClass:\"is-primary ml-2\",class:{'is-loading': _vm.onExecution },on:{\"click\":function($event){return _vm.beforeExecuteAction(_vm.selectAction, _vm.currentCompany.id)}}},[_vm._v(\" Accept \")])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalExecuteAction.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalExecuteAction.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ModalExecuteAction.vue?vue&type=template&id=2cacd9d6&\"\nimport script from \"./ModalExecuteAction.vue?vue&type=script&lang=js&\"\nexport * from \"./ModalExecuteAction.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Lock Device\n \n \n \n \n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceBitlocker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceBitlocker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceBitlocker.vue?vue&type=template&id=5d32a1be&scoped=true&\"\nimport script from \"./DeviceBitlocker.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceBitlocker.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceBitlocker.vue?vue&type=style&index=0&id=5d32a1be&prod&scoped=true&lang=css&\"\nimport style1 from \"./DeviceBitlocker.vue?vue&type=style&index=1&id=5d32a1be&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5d32a1be\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.validateIfHasCapability([_vm.planCapabilities.DISK_ENCRYPTION.value]))?_c('div',{staticClass:\"mb-3\"},[_c('card',{attrs:{\"external-card\":\"material-card-overflow\"}},[_c('b-collapse',{attrs:{\"slot\":\"external-header\",\"open\":false},on:{\"open\":function($event){_vm.isCardOpen = true},\"close\":function($event){_vm.isCardOpen = false}},slot:\"external-header\",scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('card',{attrs:{\"internal-card\":_vm.isCardOpen ? 'card-header' : '',\"style-internal-header\":\"display:flex; width:100%\",\"style-internal-card\":\"display:flex;flex-direction:row;justify-content:space-between\"}},[_c('p',{staticClass:\"card-header-title header-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(\" FileVault Device Encryption \")]),_c('a',{staticClass:\"card-header-icon\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(props.open),expression:\"props.open\"}],attrs:{\"icon\":\"menu-up\"}}),_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.open),expression:\"!props.open\"}],attrs:{\"icon\":\"menu-down\"}})],1)])}}],null,false,1476051588)},[_c('card',{attrs:{\"internal-card\":\"material-card-content\"}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',[(_vm.fileVaultError)?_c('b-message',{attrs:{\"type\":_vm.fileVaultError.type}},[_vm._v(\" \"+_vm._s(_vm.fileVaultError.message)+\" \")]):_vm._e(),_c('b-table',{staticClass:\"principal-table bitlocker-table\",staticStyle:{\"margin-top\":\"1rem\",\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"data\":_vm.diskPartitionsInStore.filter(partition => partition.isSystemPartition),\"detailed\":_vm.diskPartitionsInStore.filter(partition => partition.isSystemPartition)\n [0].fileVaultStatus !== _vm.fileVaultStatusEnum.FULLY_DECRYPTED.value.dbValue\n && !!_vm.currentFileVaultPassword,\"scrollable\":\"\",\"mobile-cards\":false},slot:\"body\"},[_c('b-table-column',{attrs:{\"field\":\"volumeName\",\"label\":\"Volume\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.volumeName)+\" \")]}}],null,false,1082116818)}),_c('b-table-column',{attrs:{\"field\":\"fileVaultStatus\",\"label\":\"Status\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(!props.row.fileVaultStatus ? '' : _vm.fileVaultStatusEnum.enums.find( x => x.value.dbValue === props.row.fileVaultStatus).value.name)+\" \")]}}],null,false,526697654)}),_c('b-table-column',{attrs:{\"field\":\"encryptionManaged\",\"label\":\"Encryption managed\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.encryptionManaged ? 'Yes' : 'No')+\" \")]}}],null,false,2058103900)}),_c('b-table-column',{attrs:{\"field\":\"actions\",\"label\":\"Actions\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('div',{staticStyle:{\"display\":\"flex\",\"flex-wrap\":\"wrap\",\"gap\":\"4px\"}},[_c('b-button',{staticClass:\"button is-secondary is-small\",class:{'is-loading': true\n [props.row.letter]},attrs:{\"icon-left\":\"eye\"},on:{\"click\":function($event){return _vm.validateIfNeedReason('FileVault password history',\n _vm.getFileVaultKeyHistory, props.row)}}},[_vm._v(\" Reveal history \")])],1)]}}],null,false,1813457930)}),_c('template',{slot:\"detail\"},[_c('b-table',{staticClass:\"inner-table\",attrs:{\"data\":[_vm.currentFileVaultPassword],\"mobile-cards\":false,\"scrollable\":\"\"}},[_c('b-table-column',{attrs:{\"field\":\"recoveryKey\",\"label\":\"Recovery Key\",\"max-width\":\"40px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(propsDetails){return [(_vm.fileVaultKey[propsDetails.row.id])?_c('span',{staticClass:\"password-style material-card-content is-size-7-mobile is-rounded\"},_vm._l(((propsDetails.row.recoveryKey)),function(letter,index){return _c('span',{key:index,class:`${_vm.getClass(letter)} mb-2`},[_vm._v(\" \"+_vm._s(letter)+\" \")])}),0):_vm._e(),(_vm.validateIfHasPermission(\n [_vm.permissions.SEE_BITLOCKER_PASSWORDS.value.dbValue]\n ) && _vm.fileVaultKey[propsDetails.row.id])?_c('b-button',{directives:[{name:\"clipboard\",rawName:\"v-clipboard:copy\",value:(_vm.fileVaultKey[propsDetails.row.id]),expression:\"fileVaultKey[propsDetails.row.id]\",arg:\"copy\"}],staticClass:\"button is-small is-primary is-outlined\",attrs:{\"icon-left\":\"clipboard-outline\"},on:{\"click\":_vm.showToastCopy}},[_vm._v(\" Copy \")]):_vm._e(),(_vm.validateIfHasPermission(\n [_vm.permissions.SEE_BITLOCKER_PASSWORDS.value.dbValue]\n ) && !_vm.fileVaultKey[propsDetails.row.id])?_c('b-button',{staticClass:\"is-primary is-small\",class:{'is-loading': _vm.isGettingfileVaultKey[propsDetails.row.id] },attrs:{\"icon-left\":\"eye\"},on:{\"click\":function($event){return _vm.validateIfNeedReason('FileVault recovery key',\n _vm.getFileVaultKey, propsDetails.row)}}},[_vm._v(\" Reveal \")]):(_vm.validateIfHasPermission(\n [_vm.permissions.SEE_BITLOCKER_PASSWORDS.value.dbValue]\n ) && _vm.fileVaultKey[propsDetails.row.id])?_c('b-button',{staticClass:\"button is-small is-primary ml-1\",attrs:{\"icon-left\":\"eye-off\"},on:{\"click\":function($event){return _vm.getFileVaultKey(propsDetails.row)}}},[_vm._v(\" Conceal \")]):_c('span',[_vm._v(\"********\")])]}}],null,false,189903612)}),_c('b-table-column',{attrs:{\"field\":\"enabledUser\",\"label\":\"Enabled user\"},scopedSlots:_vm._u([{key:\"default\",fn:function(propsDetails){return [_vm._v(\" \"+_vm._s(propsDetails.row.enabledUser)+\" \")]}}],null,false,4150644521)}),_c('b-table-column',{attrs:{\"field\":\"enabledDate\",\"label\":\"Activation date\"},scopedSlots:_vm._u([{key:\"default\",fn:function(propsDetails){return [_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(propsDetails.row.enabledDate))+\" \")]}}],null,false,2099093573)}),(_vm.displayInvalidRecoveryKeyDate)?_c('b-table-column',{attrs:{\"field\":\"invalidRecoveryKeyTimeStamp\",\"label\":\"Detected invalid since\"},scopedSlots:_vm._u([{key:\"default\",fn:function(propsDetails){return [_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(propsDetails.row.invalidRecoveryKeyTimeStamp))+\" \")]}}],null,false,2969199263)}):_vm._e()],1)],1)],2)],1)])])],1)],1),_c('b-modal',{attrs:{\"slot\":\"footer\",\"parent\":this,\"active\":_vm.isFileVaultKeyHistoryVisible,\"has-modal-card\":\"\"},on:{\"update:active\":function($event){_vm.isFileVaultKeyHistoryVisible=$event}},slot:\"footer\"},[_c('fileVaultKeyHistory',{attrs:{\"disk-partition\":_vm.activeFileVaultPartition}})],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('card',{attrs:{\"internal-card\":\"card modal-material-card modal-card bitlocker-modal\",\"url-help\":\"\"}},[_c('div',{staticClass:\"modal-card-header\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('p',[_vm._v(\"FileVault key history on volume: \"+_vm._s(_vm.diskPartition.letter))])]),_c('section',{staticClass:\"modal-card-body\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',[_c('p',{staticClass:\"mb-1\"},[_vm._v(\" Filter by date \")]),_c('b-datepicker',{staticClass:\"dateRange is-outlined dropdown\",attrs:{\"max-date\":new Date(),\"placeholder\":\"Date range\",\"icon\":\"calendar-today\",\"mobile-native\":false,\"range\":\"\"},model:{value:(_vm.datesRange),callback:function ($$v) {_vm.datesRange=$$v},expression:\"datesRange\"}}),_c('b-tooltip',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isActiveFilter),expression:\"isActiveFilter\"}],staticClass:\"ml-2\",staticStyle:{\"border-radius\":\"4px\"},attrs:{\"label\":\"Reset filters\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-primary\"},on:{\"click\":_vm.clearFilters}},[_c('b-icon',{attrs:{\"icon\":\"filter-off\"}})],1)],1)],1),_c('b-table',{staticStyle:{\"font-weight\":\"400\"},attrs:{\"data\":_vm.items,\"mobile-cards\":false,\"backend-pagination\":\"\",\"default-sort\":\"createdAt\",\"default-sort-direction\":\"desc\",\"loading\":_vm.items.length === 0 && _vm.isFindServicePending,\"total\":_vm.totalData,\"per-page\":_vm.limitItems,\"paginated\":_vm.totalData > _vm.limitItems},on:{\"page-change\":_vm.changePagination}},[_c('b-table-column',{attrs:{\"field\":\"createdAt\",\"label\":\"Date\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(props.row.createdAt))+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"recoveryKey\",\"label\":\"Recovery key\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('div',{},[_c('span',{staticClass:\"password-style material-card-content is-size-7-mobile is-rounded\"},_vm._l(((props.row.recoveryKey)),function(letter,index){return _c('span',{key:index,class:_vm.getClass(letter)},[_vm._v(\" \"+_vm._s(letter)+\" \")])}),0),_c('button',{directives:[{name:\"clipboard\",rawName:\"v-clipboard:copy\",value:(props.row.recoveryKey ),expression:\"props.row.recoveryKey \",arg:\"copy\"}],staticClass:\"button is-small is-primary is-outlined\",on:{\"click\":_vm.showToastCopy}},[_c('span',{staticClass:\"icon is-small\"},[_c('b-icon',{attrs:{\"icon\":\"clipboard-outline\",\"size\":\"is-small\"}})],1),_c('span',[_vm._v(\"Copy\")])])])]}}])}),_c('template',{slot:\"empty\"},[_c('section',{staticClass:\"section\"},[_c('div',{staticClass:\"content has-text-grey has-text-centered\"},[_c('p',[_c('b-icon',{attrs:{\"icon\":\"file\",\"size\":\"is-large\"}})],1),_c('p',[_vm._v(\"There is no FileVault key history\")])])])])],2)],1),_c('footer',{staticClass:\"card-footer has-text-centered modal-card-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('button',{staticClass:\"button is-danger force-right\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.$parent.close()}}},[_vm._v(\" Close \")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceFileVaultKeysHistory.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceFileVaultKeysHistory.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceFileVaultKeysHistory.vue?vue&type=template&id=380d3c94&scoped=true&style=width%3A%20auto&\"\nimport script from \"./DeviceFileVaultKeysHistory.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceFileVaultKeysHistory.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceFileVaultKeysHistory.vue?vue&type=style&index=0&id=380d3c94&prod&lang=css&\"\nimport style1 from \"./DeviceFileVaultKeysHistory.vue?vue&type=style&index=1&id=380d3c94&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"380d3c94\",\n null\n \n)\n\nexport default component.exports","\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceFileVault.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceFileVault.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceFileVault.vue?vue&type=template&id=79d3f2da&scoped=true&\"\nimport script from \"./DeviceFileVault.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceFileVault.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceFileVault.vue?vue&type=style&index=0&id=79d3f2da&prod&scoped=true&lang=css&\"\nimport style1 from \"./DeviceFileVault.vue?vue&type=style&index=1&id=79d3f2da&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"79d3f2da\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('card',{attrs:{\"external-card\":\"material-card\"}},[_c('b-collapse',{staticClass:\"card\",attrs:{\"slot\":\"external-header\",\"open\":false},slot:\"external-header\",scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('card',{attrs:{\"internal-card\":\"card-header\",\"style-internal-header\":\"display:flex; width:100%\",\"style-internal-card\":\"display:flex;flex-direction:row;justify-content:space-between\"}},[_c('p',{staticClass:\"card-header-title header-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_c('learn-more',{attrs:{\"url\":\"\"}})],1),_c('a',{staticClass:\"card-header-icon\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(props.open),expression:\"props.open\"}],attrs:{\"icon\":\"menu-up\"}}),_c('b-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!props.open),expression:\"!props.open\"}],attrs:{\"icon\":\"menu-down\"}})],1)])}}])},[_c('card',{attrs:{\"internal-card\":\"card-content\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"flex-wrap\":\"wrap\",\"gap\":\"8px\"},attrs:{\"slot\":\"body\"},slot:\"body\"},[_vm._l((_vm.actions),function(action){return _c('b-button',{key:action.id,attrs:{\"type\":\"is-dark\",\"icon-left\":action.icon},on:{\"click\":function($event){return _vm.openExecutionModal(action)}}},[_vm._v(\" \"+_vm._s(action.name)+\" \")])}),(_vm.actionToExecute)?_c('execution-modal',{attrs:{\"component\":_vm.executeActionComponent,\"select-action\":_vm.actionToExecute,\"default-parameters\":_vm.actionDefaultParameters,\"selected-devices\":[_vm.device.id]},model:{value:(_vm.isExecuteModalActive),callback:function ($$v) {_vm.isExecuteModalActive=$$v},expression:\"isExecuteModalActive\"}}):_vm._e()],2)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceMaintenanceActions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceMaintenanceActions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceMaintenanceActions.vue?vue&type=template&id=12c5534b&scoped=true&\"\nimport script from \"./DeviceMaintenanceActions.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceMaintenanceActions.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceMaintenanceActions.vue?vue&type=style&index=0&id=12c5534b&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"12c5534b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('card',{attrs:{\"slot\":\"external-body\",\"external-card\":\"card\",\"style-internal-card\":\"flex:auto\",\"internal-card\":\"material-card material-card-content\"},slot:\"external-body\"},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('p',{staticStyle:{\"margin-bottom\":\"8px\",\"font-weight\":\"bold\"}},[_vm._v(\" Notes \")]),_c('b-input',{directives:[{name:\"autosize\",rawName:\"v-autosize\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],attrs:{\"id\":\"inputNote\",\"name\":\"inputNote\",\"type\":\"textarea\",\"placeholder\":'Add notes to this device, eg: issues found,' +\n ' comments from the user, etc.',\"maxlength\":\"30000\"},model:{value:(_vm.inputNote),callback:function ($$v) {_vm.inputNote=$$v},expression:\"inputNote\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.emptyNote),expression:\"emptyNote\"}],staticClass:\"help is-danger\"},[_vm._v(\"This field is required \")]),_c('b-button',{staticClass:\"is-primary force-right\",on:{\"click\":_vm.saveNotes}},[_vm._v(\" Save \")])],1)]),_vm._l((_vm.notesResult),function(note){return _c('div',{key:note.id},[_c('card',{staticStyle:{\"margin-top\":\"8px\"},attrs:{\"slot\":\"external-body\",\"external-card\":\"card\",\"style-internal-card\":\"flex:auto;\",\"internal-card\":\"material-card material-card-content\"},slot:\"external-body\"},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{staticClass:\"media\",staticStyle:{\"margin-bottom\":\"0px\"}},[_c('figure',{staticClass:\"media-left\"},[_c('user-image',{attrs:{\"email\":note.userEmail ? note.userEmail : 'support@boardgent.com',\"size\":60,\"is-in-navbar\":false,\"lazy\":false}})],1),_c('div',{staticClass:\"media-content\",staticStyle:{\"margin\":\"auto\"}},[_c('div',{staticClass:\"content\"},[_c('p',[_c('strong',[_vm._v(_vm._s(note.userName || note.userEmail || _vm.ownerUserName))]),_vm._v(\" | \"),_c('timeago',{key:note.id,attrs:{\"since\":note.createdAt,\"no-future\":\"\"}}),_c('br'),_c('span',{staticStyle:{\"white-space\":\"pre-line\"}},[_vm._v(_vm._s(note.note))])],1)])])]),_c('learn-more',{attrs:{\"url\":\"\"}})],1)])],1)}),_c('card',{staticStyle:{\"margin-top\":\"8px\"},attrs:{\"style-internal-card\":\"flex:auto\"}},[_c('div',{attrs:{\"slot\":\"external-footer\"},slot:\"external-footer\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.notesResult.length > 0 && _vm.totalData > _vm.limitNotes),expression:\"notesResult.length > 0 && totalData > limitNotes\"}],staticClass:\"pagination-container\"},[_c('b-pagination',{attrs:{\"total\":_vm.totalData,\"current\":_vm.currentPage,\"per-page\":_vm.limitNotes},on:{\"update:current\":function($event){_vm.currentPage=$event},\"change\":_vm.changePagination}})],1)])]),_c('b-loading',{attrs:{\"is-full-page\":true,\"can-cancel\":false},model:{value:(_vm.isLoading),callback:function ($$v) {_vm.isLoading=$$v},expression:\"isLoading\"}})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceLogNotes.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceLogNotes.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceLogNotes.vue?vue&type=template&id=4e584e48&scoped=true&\"\nimport script from \"./DeviceLogNotes.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceLogNotes.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceLogNotes.vue?vue&type=style&index=0&id=4e584e48&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4e584e48\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceDetails.vue?vue&type=template&id=a1d50410&\"\nimport script from \"./DeviceDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceDetails.vue?vue&type=style&index=0&id=a1d50410&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\nmodule.exports = Message;\n\nvar util = require(\"./util/minimal\");\n\n/**\n * Constructs a new message instance.\n * @classdesc Abstract runtime message.\n * @constructor\n * @param {Properties} [properties] Properties to set\n * @template T extends object = object\n */\nfunction Message(properties) {\n // not used internally\n if (properties)\n for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)\n this[keys[i]] = properties[keys[i]];\n}\n\n/**\n * Reference to the reflected type.\n * @name Message.$type\n * @type {Type}\n * @readonly\n */\n\n/**\n * Reference to the reflected type.\n * @name Message#$type\n * @type {Type}\n * @readonly\n */\n\n/*eslint-disable valid-jsdoc*/\n\n/**\n * Creates a new message of this type using the specified properties.\n * @param {Object.} [properties] Properties to set\n * @returns {Message} Message instance\n * @template T extends Message\n * @this Constructor\n */\nMessage.create = function create(properties) {\n return this.$type.create(properties);\n};\n\n/**\n * Encodes a message of this type.\n * @param {T|Object.} message Message to encode\n * @param {Writer} [writer] Writer to use\n * @returns {Writer} Writer\n * @template T extends Message\n * @this Constructor\n */\nMessage.encode = function encode(message, writer) {\n return this.$type.encode(message, writer);\n};\n\n/**\n * Encodes a message of this type preceeded by its length as a varint.\n * @param {T|Object.} message Message to encode\n * @param {Writer} [writer] Writer to use\n * @returns {Writer} Writer\n * @template T extends Message\n * @this Constructor\n */\nMessage.encodeDelimited = function encodeDelimited(message, writer) {\n return this.$type.encodeDelimited(message, writer);\n};\n\n/**\n * Decodes a message of this type.\n * @name Message.decode\n * @function\n * @param {Reader|Uint8Array} reader Reader or buffer to decode\n * @returns {T} Decoded message\n * @template T extends Message\n * @this Constructor\n */\nMessage.decode = function decode(reader) {\n return this.$type.decode(reader);\n};\n\n/**\n * Decodes a message of this type preceeded by its length as a varint.\n * @name Message.decodeDelimited\n * @function\n * @param {Reader|Uint8Array} reader Reader or buffer to decode\n * @returns {T} Decoded message\n * @template T extends Message\n * @this Constructor\n */\nMessage.decodeDelimited = function decodeDelimited(reader) {\n return this.$type.decodeDelimited(reader);\n};\n\n/**\n * Verifies a message of this type.\n * @name Message.verify\n * @function\n * @param {Object.} message Plain object to verify\n * @returns {string|null} `null` if valid, otherwise the reason why it is not\n */\nMessage.verify = function verify(message) {\n return this.$type.verify(message);\n};\n\n/**\n * Creates a new message of this type from a plain object. Also converts values to their respective internal types.\n * @param {Object.} object Plain object\n * @returns {T} Message instance\n * @template T extends Message\n * @this Constructor\n */\nMessage.fromObject = function fromObject(object) {\n return this.$type.fromObject(object);\n};\n\n/**\n * Creates a plain object from a message of this type. Also converts values to other types if specified.\n * @param {T} message Message instance\n * @param {IConversionOptions} [options] Conversion options\n * @returns {Object.} Plain object\n * @template T extends Message\n * @this Constructor\n */\nMessage.toObject = function toObject(message, options) {\n return this.$type.toObject(message, options);\n};\n\n/**\n * Converts this message to JSON.\n * @returns {Object.} JSON object\n */\nMessage.prototype.toJSON = function toJSON() {\n return this.$type.toObject(this, util.toJSONOptions);\n};\n\n/*eslint-enable valid-jsdoc*/","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findLastIndex = require('../internals/array-iteration-from-last').findLastIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findLastIndex` method\n// https://github.com/tc39/proposal-array-find-from-last\nexportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) {\n return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","\"use strict\";\nmodule.exports = Reader;\n\nvar util = require(\"./util/minimal\");\n\nvar BufferReader; // cyclic\n\nvar LongBits = util.LongBits,\n utf8 = util.utf8;\n\n/* istanbul ignore next */\nfunction indexOutOfRange(reader, writeLength) {\n return RangeError(\"index out of range: \" + reader.pos + \" + \" + (writeLength || 1) + \" > \" + reader.len);\n}\n\n/**\n * Constructs a new reader instance using the specified buffer.\n * @classdesc Wire format reader using `Uint8Array` if available, otherwise `Array`.\n * @constructor\n * @param {Uint8Array} buffer Buffer to read from\n */\nfunction Reader(buffer) {\n\n /**\n * Read buffer.\n * @type {Uint8Array}\n */\n this.buf = buffer;\n\n /**\n * Read buffer position.\n * @type {number}\n */\n this.pos = 0;\n\n /**\n * Read buffer length.\n * @type {number}\n */\n this.len = buffer.length;\n}\n\nvar create_array = typeof Uint8Array !== \"undefined\"\n ? function create_typed_array(buffer) {\n if (buffer instanceof Uint8Array || Array.isArray(buffer))\n return new Reader(buffer);\n throw Error(\"illegal buffer\");\n }\n /* istanbul ignore next */\n : function create_array(buffer) {\n if (Array.isArray(buffer))\n return new Reader(buffer);\n throw Error(\"illegal buffer\");\n };\n\nvar create = function create() {\n return util.Buffer\n ? function create_buffer_setup(buffer) {\n return (Reader.create = function create_buffer(buffer) {\n return util.Buffer.isBuffer(buffer)\n ? new BufferReader(buffer)\n /* istanbul ignore next */\n : create_array(buffer);\n })(buffer);\n }\n /* istanbul ignore next */\n : create_array;\n};\n\n/**\n * Creates a new reader using the specified buffer.\n * @function\n * @param {Uint8Array|Buffer} buffer Buffer to read from\n * @returns {Reader|BufferReader} A {@link BufferReader} if `buffer` is a Buffer, otherwise a {@link Reader}\n * @throws {Error} If `buffer` is not a valid buffer\n */\nReader.create = create();\n\nReader.prototype._slice = util.Array.prototype.subarray || /* istanbul ignore next */ util.Array.prototype.slice;\n\n/**\n * Reads a varint as an unsigned 32 bit value.\n * @function\n * @returns {number} Value read\n */\nReader.prototype.uint32 = (function read_uint32_setup() {\n var value = 4294967295; // optimizer type-hint, tends to deopt otherwise (?!)\n return function read_uint32() {\n value = ( this.buf[this.pos] & 127 ) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 127) << 7) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 127) << 14) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 127) << 21) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 15) << 28) >>> 0; if (this.buf[this.pos++] < 128) return value;\n\n /* istanbul ignore if */\n if ((this.pos += 5) > this.len) {\n this.pos = this.len;\n throw indexOutOfRange(this, 10);\n }\n return value;\n };\n})();\n\n/**\n * Reads a varint as a signed 32 bit value.\n * @returns {number} Value read\n */\nReader.prototype.int32 = function read_int32() {\n return this.uint32() | 0;\n};\n\n/**\n * Reads a zig-zag encoded varint as a signed 32 bit value.\n * @returns {number} Value read\n */\nReader.prototype.sint32 = function read_sint32() {\n var value = this.uint32();\n return value >>> 1 ^ -(value & 1) | 0;\n};\n\n/* eslint-disable no-invalid-this */\n\nfunction readLongVarint() {\n // tends to deopt with local vars for octet etc.\n var bits = new LongBits(0, 0);\n var i = 0;\n if (this.len - this.pos > 4) { // fast route (lo)\n for (; i < 4; ++i) {\n // 1st..4th\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i * 7) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n // 5th\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << 28) >>> 0;\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) >> 4) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n i = 0;\n } else {\n for (; i < 3; ++i) {\n /* istanbul ignore if */\n if (this.pos >= this.len)\n throw indexOutOfRange(this);\n // 1st..3th\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i * 7) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n // 4th\n bits.lo = (bits.lo | (this.buf[this.pos++] & 127) << i * 7) >>> 0;\n return bits;\n }\n if (this.len - this.pos > 4) { // fast route (hi)\n for (; i < 5; ++i) {\n // 6th..10th\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i * 7 + 3) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n } else {\n for (; i < 5; ++i) {\n /* istanbul ignore if */\n if (this.pos >= this.len)\n throw indexOutOfRange(this);\n // 6th..10th\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i * 7 + 3) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n }\n /* istanbul ignore next */\n throw Error(\"invalid varint encoding\");\n}\n\n/* eslint-enable no-invalid-this */\n\n/**\n * Reads a varint as a signed 64 bit value.\n * @name Reader#int64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a varint as an unsigned 64 bit value.\n * @name Reader#uint64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a zig-zag encoded varint as a signed 64 bit value.\n * @name Reader#sint64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a varint as a boolean.\n * @returns {boolean} Value read\n */\nReader.prototype.bool = function read_bool() {\n return this.uint32() !== 0;\n};\n\nfunction readFixed32_end(buf, end) { // note that this uses `end`, not `pos`\n return (buf[end - 4]\n | buf[end - 3] << 8\n | buf[end - 2] << 16\n | buf[end - 1] << 24) >>> 0;\n}\n\n/**\n * Reads fixed 32 bits as an unsigned 32 bit integer.\n * @returns {number} Value read\n */\nReader.prototype.fixed32 = function read_fixed32() {\n\n /* istanbul ignore if */\n if (this.pos + 4 > this.len)\n throw indexOutOfRange(this, 4);\n\n return readFixed32_end(this.buf, this.pos += 4);\n};\n\n/**\n * Reads fixed 32 bits as a signed 32 bit integer.\n * @returns {number} Value read\n */\nReader.prototype.sfixed32 = function read_sfixed32() {\n\n /* istanbul ignore if */\n if (this.pos + 4 > this.len)\n throw indexOutOfRange(this, 4);\n\n return readFixed32_end(this.buf, this.pos += 4) | 0;\n};\n\n/* eslint-disable no-invalid-this */\n\nfunction readFixed64(/* this: Reader */) {\n\n /* istanbul ignore if */\n if (this.pos + 8 > this.len)\n throw indexOutOfRange(this, 8);\n\n return new LongBits(readFixed32_end(this.buf, this.pos += 4), readFixed32_end(this.buf, this.pos += 4));\n}\n\n/* eslint-enable no-invalid-this */\n\n/**\n * Reads fixed 64 bits.\n * @name Reader#fixed64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads zig-zag encoded fixed 64 bits.\n * @name Reader#sfixed64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a float (32 bit) as a number.\n * @function\n * @returns {number} Value read\n */\nReader.prototype.float = function read_float() {\n\n /* istanbul ignore if */\n if (this.pos + 4 > this.len)\n throw indexOutOfRange(this, 4);\n\n var value = util.float.readFloatLE(this.buf, this.pos);\n this.pos += 4;\n return value;\n};\n\n/**\n * Reads a double (64 bit float) as a number.\n * @function\n * @returns {number} Value read\n */\nReader.prototype.double = function read_double() {\n\n /* istanbul ignore if */\n if (this.pos + 8 > this.len)\n throw indexOutOfRange(this, 4);\n\n var value = util.float.readDoubleLE(this.buf, this.pos);\n this.pos += 8;\n return value;\n};\n\n/**\n * Reads a sequence of bytes preceeded by its length as a varint.\n * @returns {Uint8Array} Value read\n */\nReader.prototype.bytes = function read_bytes() {\n var length = this.uint32(),\n start = this.pos,\n end = this.pos + length;\n\n /* istanbul ignore if */\n if (end > this.len)\n throw indexOutOfRange(this, length);\n\n this.pos += length;\n if (Array.isArray(this.buf)) // plain array\n return this.buf.slice(start, end);\n return start === end // fix for IE 10/Win8 and others' subarray returning array of size 1\n ? new this.buf.constructor(0)\n : this._slice.call(this.buf, start, end);\n};\n\n/**\n * Reads a string preceeded by its byte length as a varint.\n * @returns {string} Value read\n */\nReader.prototype.string = function read_string() {\n var bytes = this.bytes();\n return utf8.read(bytes, 0, bytes.length);\n};\n\n/**\n * Skips the specified number of bytes if specified, otherwise skips a varint.\n * @param {number} [length] Length if known, otherwise a varint is assumed\n * @returns {Reader} `this`\n */\nReader.prototype.skip = function skip(length) {\n if (typeof length === \"number\") {\n /* istanbul ignore if */\n if (this.pos + length > this.len)\n throw indexOutOfRange(this, length);\n this.pos += length;\n } else {\n do {\n /* istanbul ignore if */\n if (this.pos >= this.len)\n throw indexOutOfRange(this);\n } while (this.buf[this.pos++] & 128);\n }\n return this;\n};\n\n/**\n * Skips the next element of the specified wire type.\n * @param {number} wireType Wire type received\n * @returns {Reader} `this`\n */\nReader.prototype.skipType = function(wireType) {\n switch (wireType) {\n case 0:\n this.skip();\n break;\n case 1:\n this.skip(8);\n break;\n case 2:\n this.skip(this.uint32());\n break;\n case 3:\n while ((wireType = this.uint32() & 7) !== 4) {\n this.skipType(wireType);\n }\n break;\n case 5:\n this.skip(4);\n break;\n\n /* istanbul ignore next */\n default:\n throw Error(\"invalid wire type \" + wireType + \" at offset \" + this.pos);\n }\n return this;\n};\n\nReader._configure = function(BufferReader_) {\n BufferReader = BufferReader_;\n Reader.create = create();\n BufferReader._configure();\n\n var fn = util.Long ? \"toLong\" : /* istanbul ignore next */ \"toNumber\";\n util.merge(Reader.prototype, {\n\n int64: function read_int64() {\n return readLongVarint.call(this)[fn](false);\n },\n\n uint64: function read_uint64() {\n return readLongVarint.call(this)[fn](true);\n },\n\n sint64: function read_sint64() {\n return readLongVarint.call(this).zzDecode()[fn](false);\n },\n\n fixed64: function read_fixed64() {\n return readFixed64.call(this)[fn](true);\n },\n\n sfixed64: function read_sfixed64() {\n return readFixed64.call(this)[fn](false);\n }\n\n });\n};\n","(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceFileVault.vue?vue&type=style&index=0&id=79d3f2da&prod&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceBootOrder.vue?vue&type=style&index=0&id=67df7929&prod&scoped=true&lang=css&\"","const bgEnums = require('../../../cross/index').enum;\n\nconst { locationPerimeterType } = bgEnums.location;\nexport default {\n parseLatLng(loc) {\n const latLng = loc.split(',');\n if (latLng.length === 2) return { lat: Number(latLng[0]), lng: Number(latLng[1]) };\n if (latLng.length === 4) {\n return { lat: Number(`${latLng[0]}.${latLng[1]}`), lng: Number(`${latLng[2]}.${latLng[3]}`) };\n }\n return null;\n },\n parsePerimetersFromDb(dbPerimeters) {\n const perimeters = [];\n dbPerimeters.forEach((perimeter, index) => {\n if (perimeter.type === locationPerimeterType.POLYGON.value.dbValue) {\n perimeters.push({\n name: `Geo-fence ${index + 1}`,\n value: index,\n type: locationPerimeterType.POLYGON.value,\n paths: perimeter.paths,\n center: { lat: null, lng: null },\n radius: null,\n });\n }\n if (perimeter.type === locationPerimeterType.MARKER.value.dbValue) {\n perimeters.push({\n name: `Geo-fence ${index + 1}`,\n value: index,\n type: locationPerimeterType.MARKER.value,\n paths: [],\n center: perimeter.center,\n radius: perimeter.radius,\n });\n }\n });\n return perimeters;\n },\n parsePerimetersToDb(perimeters) {\n return perimeters.map((x) => {\n if (x.type.dbValue === locationPerimeterType.POLYGON.value.dbValue) {\n return {\n type: x.type.dbValue,\n paths: x.paths,\n };\n }\n return {\n type: x.type.dbValue,\n center: x.center,\n radius: x.radius,\n };\n });\n },\n verifyPerimeters(perimeters) {\n return perimeters.every(((perimeter) => {\n if (perimeter.type === locationPerimeterType.POLYGON.value.dbValue) {\n return perimeter.paths.length > 0;\n }\n return perimeter.center && perimeter.radius;\n }));\n },\n setPolygonPaths(mvcPaths) {\n const paths = [];\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < mvcPaths.getLength(); i++) {\n const path = [];\n // eslint-disable-next-line no-plusplus\n for (let j = 0; j < mvcPaths.getAt(i).getLength(); j++) {\n const point = mvcPaths.getAt(i).getAt(j);\n path.push({ lat: point.lat(), lng: point.lng() });\n }\n paths.push(path);\n }\n return paths;\n },\n};\n","\"use strict\";\nmodule.exports = verifier;\n\nvar Enum = require(\"./enum\"),\n util = require(\"./util\");\n\nfunction invalid(field, expected) {\n return field.name + \": \" + expected + (field.repeated && expected !== \"array\" ? \"[]\" : field.map && expected !== \"object\" ? \"{k:\"+field.keyType+\"}\" : \"\") + \" expected\";\n}\n\n/**\n * Generates a partial value verifier.\n * @param {Codegen} gen Codegen instance\n * @param {Field} field Reflected field\n * @param {number} fieldIndex Field index\n * @param {string} ref Variable reference\n * @returns {Codegen} Codegen instance\n * @ignore\n */\nfunction genVerifyValue(gen, field, fieldIndex, ref) {\n /* eslint-disable no-unexpected-multiline */\n if (field.resolvedType) {\n if (field.resolvedType instanceof Enum) { gen\n (\"switch(%s){\", ref)\n (\"default:\")\n (\"return%j\", invalid(field, \"enum value\"));\n for (var keys = Object.keys(field.resolvedType.values), j = 0; j < keys.length; ++j) gen\n (\"case %i:\", field.resolvedType.values[keys[j]]);\n gen\n (\"break\")\n (\"}\");\n } else {\n gen\n (\"{\")\n (\"var e=types[%i].verify(%s);\", fieldIndex, ref)\n (\"if(e)\")\n (\"return%j+e\", field.name + \".\")\n (\"}\");\n }\n } else {\n switch (field.type) {\n case \"int32\":\n case \"uint32\":\n case \"sint32\":\n case \"fixed32\":\n case \"sfixed32\": gen\n (\"if(!util.isInteger(%s))\", ref)\n (\"return%j\", invalid(field, \"integer\"));\n break;\n case \"int64\":\n case \"uint64\":\n case \"sint64\":\n case \"fixed64\":\n case \"sfixed64\": gen\n (\"if(!util.isInteger(%s)&&!(%s&&util.isInteger(%s.low)&&util.isInteger(%s.high)))\", ref, ref, ref, ref)\n (\"return%j\", invalid(field, \"integer|Long\"));\n break;\n case \"float\":\n case \"double\": gen\n (\"if(typeof %s!==\\\"number\\\")\", ref)\n (\"return%j\", invalid(field, \"number\"));\n break;\n case \"bool\": gen\n (\"if(typeof %s!==\\\"boolean\\\")\", ref)\n (\"return%j\", invalid(field, \"boolean\"));\n break;\n case \"string\": gen\n (\"if(!util.isString(%s))\", ref)\n (\"return%j\", invalid(field, \"string\"));\n break;\n case \"bytes\": gen\n (\"if(!(%s&&typeof %s.length===\\\"number\\\"||util.isString(%s)))\", ref, ref, ref)\n (\"return%j\", invalid(field, \"buffer\"));\n break;\n }\n }\n return gen;\n /* eslint-enable no-unexpected-multiline */\n}\n\n/**\n * Generates a partial key verifier.\n * @param {Codegen} gen Codegen instance\n * @param {Field} field Reflected field\n * @param {string} ref Variable reference\n * @returns {Codegen} Codegen instance\n * @ignore\n */\nfunction genVerifyKey(gen, field, ref) {\n /* eslint-disable no-unexpected-multiline */\n switch (field.keyType) {\n case \"int32\":\n case \"uint32\":\n case \"sint32\":\n case \"fixed32\":\n case \"sfixed32\": gen\n (\"if(!util.key32Re.test(%s))\", ref)\n (\"return%j\", invalid(field, \"integer key\"));\n break;\n case \"int64\":\n case \"uint64\":\n case \"sint64\":\n case \"fixed64\":\n case \"sfixed64\": gen\n (\"if(!util.key64Re.test(%s))\", ref) // see comment above: x is ok, d is not\n (\"return%j\", invalid(field, \"integer|Long key\"));\n break;\n case \"bool\": gen\n (\"if(!util.key2Re.test(%s))\", ref)\n (\"return%j\", invalid(field, \"boolean key\"));\n break;\n }\n return gen;\n /* eslint-enable no-unexpected-multiline */\n}\n\n/**\n * Generates a verifier specific to the specified message type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nfunction verifier(mtype) {\n /* eslint-disable no-unexpected-multiline */\n\n var gen = util.codegen([\"m\"], mtype.name + \"$verify\")\n (\"if(typeof m!==\\\"object\\\"||m===null)\")\n (\"return%j\", \"object expected\");\n var oneofs = mtype.oneofsArray,\n seenFirstField = {};\n if (oneofs.length) gen\n (\"var p={}\");\n\n for (var i = 0; i < /* initializes */ mtype.fieldsArray.length; ++i) {\n var field = mtype._fieldsArray[i].resolve(),\n ref = \"m\" + util.safeProp(field.name);\n\n if (field.optional) gen\n (\"if(%s!=null&&m.hasOwnProperty(%j)){\", ref, field.name); // !== undefined && !== null\n\n // map fields\n if (field.map) { gen\n (\"if(!util.isObject(%s))\", ref)\n (\"return%j\", invalid(field, \"object\"))\n (\"var k=Object.keys(%s)\", ref)\n (\"for(var i=0;i 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);\r\n else if (isNaN(val))\r\n writeUint(2143289344, buf, pos);\r\n else if (val > 3.4028234663852886e+38) // +-Infinity\r\n writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);\r\n else if (val < 1.1754943508222875e-38) // denormal\r\n writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);\r\n else {\r\n var exponent = Math.floor(Math.log(val) / Math.LN2),\r\n mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;\r\n writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);\r\n }\r\n }\r\n\r\n exports.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE);\r\n exports.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE);\r\n\r\n function readFloat_ieee754(readUint, buf, pos) {\r\n var uint = readUint(buf, pos),\r\n sign = (uint >> 31) * 2 + 1,\r\n exponent = uint >>> 23 & 255,\r\n mantissa = uint & 8388607;\r\n return exponent === 255\r\n ? mantissa\r\n ? NaN\r\n : sign * Infinity\r\n : exponent === 0 // denormal\r\n ? sign * 1.401298464324817e-45 * mantissa\r\n : sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);\r\n }\r\n\r\n exports.readFloatLE = readFloat_ieee754.bind(null, readUintLE);\r\n exports.readFloatBE = readFloat_ieee754.bind(null, readUintBE);\r\n\r\n })();\r\n\r\n // double: typed array\r\n if (typeof Float64Array !== \"undefined\") (function() {\r\n\r\n var f64 = new Float64Array([-0]),\r\n f8b = new Uint8Array(f64.buffer),\r\n le = f8b[7] === 128;\r\n\r\n function writeDouble_f64_cpy(val, buf, pos) {\r\n f64[0] = val;\r\n buf[pos ] = f8b[0];\r\n buf[pos + 1] = f8b[1];\r\n buf[pos + 2] = f8b[2];\r\n buf[pos + 3] = f8b[3];\r\n buf[pos + 4] = f8b[4];\r\n buf[pos + 5] = f8b[5];\r\n buf[pos + 6] = f8b[6];\r\n buf[pos + 7] = f8b[7];\r\n }\r\n\r\n function writeDouble_f64_rev(val, buf, pos) {\r\n f64[0] = val;\r\n buf[pos ] = f8b[7];\r\n buf[pos + 1] = f8b[6];\r\n buf[pos + 2] = f8b[5];\r\n buf[pos + 3] = f8b[4];\r\n buf[pos + 4] = f8b[3];\r\n buf[pos + 5] = f8b[2];\r\n buf[pos + 6] = f8b[1];\r\n buf[pos + 7] = f8b[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev;\r\n /* istanbul ignore next */\r\n exports.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy;\r\n\r\n function readDouble_f64_cpy(buf, pos) {\r\n f8b[0] = buf[pos ];\r\n f8b[1] = buf[pos + 1];\r\n f8b[2] = buf[pos + 2];\r\n f8b[3] = buf[pos + 3];\r\n f8b[4] = buf[pos + 4];\r\n f8b[5] = buf[pos + 5];\r\n f8b[6] = buf[pos + 6];\r\n f8b[7] = buf[pos + 7];\r\n return f64[0];\r\n }\r\n\r\n function readDouble_f64_rev(buf, pos) {\r\n f8b[7] = buf[pos ];\r\n f8b[6] = buf[pos + 1];\r\n f8b[5] = buf[pos + 2];\r\n f8b[4] = buf[pos + 3];\r\n f8b[3] = buf[pos + 4];\r\n f8b[2] = buf[pos + 5];\r\n f8b[1] = buf[pos + 6];\r\n f8b[0] = buf[pos + 7];\r\n return f64[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;\r\n /* istanbul ignore next */\r\n exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;\r\n\r\n // double: ieee754\r\n })(); else (function() {\r\n\r\n function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {\r\n var sign = val < 0 ? 1 : 0;\r\n if (sign)\r\n val = -val;\r\n if (val === 0) {\r\n writeUint(0, buf, pos + off0);\r\n writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);\r\n } else if (isNaN(val)) {\r\n writeUint(0, buf, pos + off0);\r\n writeUint(2146959360, buf, pos + off1);\r\n } else if (val > 1.7976931348623157e+308) { // +-Infinity\r\n writeUint(0, buf, pos + off0);\r\n writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);\r\n } else {\r\n var mantissa;\r\n if (val < 2.2250738585072014e-308) { // denormal\r\n mantissa = val / 5e-324;\r\n writeUint(mantissa >>> 0, buf, pos + off0);\r\n writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);\r\n } else {\r\n var exponent = Math.floor(Math.log(val) / Math.LN2);\r\n if (exponent === 1024)\r\n exponent = 1023;\r\n mantissa = val * Math.pow(2, -exponent);\r\n writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);\r\n writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);\r\n }\r\n }\r\n }\r\n\r\n exports.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4);\r\n exports.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0);\r\n\r\n function readDouble_ieee754(readUint, off0, off1, buf, pos) {\r\n var lo = readUint(buf, pos + off0),\r\n hi = readUint(buf, pos + off1);\r\n var sign = (hi >> 31) * 2 + 1,\r\n exponent = hi >>> 20 & 2047,\r\n mantissa = 4294967296 * (hi & 1048575) + lo;\r\n return exponent === 2047\r\n ? mantissa\r\n ? NaN\r\n : sign * Infinity\r\n : exponent === 0 // denormal\r\n ? sign * 5e-324 * mantissa\r\n : sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);\r\n }\r\n\r\n exports.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4);\r\n exports.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0);\r\n\r\n })();\r\n\r\n return exports;\r\n}\r\n\r\n// uint helpers\r\n\r\nfunction writeUintLE(val, buf, pos) {\r\n buf[pos ] = val & 255;\r\n buf[pos + 1] = val >>> 8 & 255;\r\n buf[pos + 2] = val >>> 16 & 255;\r\n buf[pos + 3] = val >>> 24;\r\n}\r\n\r\nfunction writeUintBE(val, buf, pos) {\r\n buf[pos ] = val >>> 24;\r\n buf[pos + 1] = val >>> 16 & 255;\r\n buf[pos + 2] = val >>> 8 & 255;\r\n buf[pos + 3] = val & 255;\r\n}\r\n\r\nfunction readUintLE(buf, pos) {\r\n return (buf[pos ]\r\n | buf[pos + 1] << 8\r\n | buf[pos + 2] << 16\r\n | buf[pos + 3] << 24) >>> 0;\r\n}\r\n\r\nfunction readUintBE(buf, pos) {\r\n return (buf[pos ] << 24\r\n | buf[pos + 1] << 16\r\n | buf[pos + 2] << 8\r\n | buf[pos + 3]) >>> 0;\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./deleteFilesFromFolder.vue?vue&type=style&index=0&id=18869f26&prod&lang=css&\"","\"use strict\";\r\n\r\n/**\r\n * A minimal path module to resolve Unix, Windows and URL paths alike.\r\n * @memberof util\r\n * @namespace\r\n */\r\nvar path = exports;\r\n\r\nvar isAbsolute =\r\n/**\r\n * Tests if the specified path is absolute.\r\n * @param {string} path Path to test\r\n * @returns {boolean} `true` if path is absolute\r\n */\r\npath.isAbsolute = function isAbsolute(path) {\r\n return /^(?:\\/|\\w+:)/.test(path);\r\n};\r\n\r\nvar normalize =\r\n/**\r\n * Normalizes the specified path.\r\n * @param {string} path Path to normalize\r\n * @returns {string} Normalized path\r\n */\r\npath.normalize = function normalize(path) {\r\n path = path.replace(/\\\\/g, \"/\")\r\n .replace(/\\/{2,}/g, \"/\");\r\n var parts = path.split(\"/\"),\r\n absolute = isAbsolute(path),\r\n prefix = \"\";\r\n if (absolute)\r\n prefix = parts.shift() + \"/\";\r\n for (var i = 0; i < parts.length;) {\r\n if (parts[i] === \"..\") {\r\n if (i > 0 && parts[i - 1] !== \"..\")\r\n parts.splice(--i, 2);\r\n else if (absolute)\r\n parts.splice(i, 1);\r\n else\r\n ++i;\r\n } else if (parts[i] === \".\")\r\n parts.splice(i, 1);\r\n else\r\n ++i;\r\n }\r\n return prefix + parts.join(\"/\");\r\n};\r\n\r\n/**\r\n * Resolves the specified include path against the specified origin path.\r\n * @param {string} originPath Path to the origin file\r\n * @param {string} includePath Include path relative to origin path\r\n * @param {boolean} [alreadyNormalized=false] `true` if both paths are already known to be normalized\r\n * @returns {string} Path to the include file\r\n */\r\npath.resolve = function resolve(originPath, includePath, alreadyNormalized) {\r\n if (!alreadyNormalized)\r\n includePath = normalize(includePath);\r\n if (isAbsolute(includePath))\r\n return includePath;\r\n if (!alreadyNormalized)\r\n originPath = normalize(originPath);\r\n return (originPath = originPath.replace(/(?:\\/|^)[^/]+$/, \"\")).length ? normalize(originPath + \"/\" + includePath) : includePath;\r\n};\r\n","// light library entry point.\n\n\"use strict\";\nmodule.exports = require(\"./src/index-light\");","\"use strict\";\r\nmodule.exports = asPromise;\r\n\r\n/**\r\n * Callback as used by {@link util.asPromise}.\r\n * @typedef asPromiseCallback\r\n * @type {function}\r\n * @param {Error|null} error Error, if any\r\n * @param {...*} params Additional arguments\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Returns a promise from a node-style callback function.\r\n * @memberof util\r\n * @param {asPromiseCallback} fn Function to call\r\n * @param {*} ctx Function context\r\n * @param {...*} params Function arguments\r\n * @returns {Promise<*>} Promisified function\r\n */\r\nfunction asPromise(fn, ctx/*, varargs */) {\r\n var params = new Array(arguments.length - 1),\r\n offset = 0,\r\n index = 2,\r\n pending = true;\r\n while (index < arguments.length)\r\n params[offset++] = arguments[index++];\r\n return new Promise(function executor(resolve, reject) {\r\n params[offset] = function callback(err/*, varargs */) {\r\n if (pending) {\r\n pending = false;\r\n if (err)\r\n reject(err);\r\n else {\r\n var params = new Array(arguments.length - 1),\r\n offset = 0;\r\n while (offset < params.length)\r\n params[offset++] = arguments[offset];\r\n resolve.apply(null, params);\r\n }\r\n }\r\n };\r\n try {\r\n fn.apply(ctx || null, params);\r\n } catch (err) {\r\n if (pending) {\r\n pending = false;\r\n reject(err);\r\n }\r\n }\r\n });\r\n}\r\n","\n\n\n\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('label',[_vm._v(\" Parameters to execute \"+_vm._s(_vm.title)+\" \"),_c('br'),_vm._v(\" When do you want to execute the action \")]),_c('br'),_c('br'),_c('section',[_c('div',[_c('b-radio',{attrs:{\"native-value\":_vm.parametersEnum.NOW.value.id},on:{\"input\":_vm.changeDisplay},model:{value:(_vm.now),callback:function ($$v) {_vm.now=$$v},expression:\"now\"}},[_vm._v(\" \"+_vm._s(_vm.parametersEnum.NOW.value.name)+\" \")]),_c('b-radio',{attrs:{\"native-value\":_vm.parametersEnum.AFTER_SOME_TIME.value.id},on:{\"input\":_vm.changeDisplay},model:{value:(_vm.now),callback:function ($$v) {_vm.now=$$v},expression:\"now\"}},[_vm._v(\" \"+_vm._s(_vm.parametersEnum.AFTER_SOME_TIME.value.name)+\" \")])],1)]),_c('br'),[_c('b-field',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.timeFieldsDisplay),expression:\"timeFieldsDisplay\"}],staticClass:\"is-justify-content-center center\",attrs:{\"grouped\":\"\"}},[_c('b-field',{attrs:{\"expanded\":\"\"}},[_c('b-field',[_c('b-input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(`regex:^[1-9]+|${_vm.fieldsRequired}`),expression:\"`regex:^[1-9]+|${fieldsRequired}`\"}],staticClass:\"center-input\",staticStyle:{\"max-width\":\"70px\"},attrs:{\"placeholder\":\"Value\",\"name\":\"value\",\"type\":\"number\",\"expanded\":\"\"},on:{\"input\":_vm.changeParams},model:{value:(_vm.parameters.timeValue),callback:function ($$v) {_vm.$set(_vm.parameters, \"timeValue\", $$v)},expression:\"parameters.timeValue\"}}),_c('b-select',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(_vm.fieldsRequired),expression:\"fieldsRequired\"}],attrs:{\"name\":\"unit\",\"placeholder\":\"Time\"},on:{\"input\":_vm.changeParams},model:{value:(_vm.parameters.timeUnit),callback:function ($$v) {_vm.$set(_vm.parameters, \"timeUnit\", $$v)},expression:\"parameters.timeUnit\"}},[_c('option',{domProps:{\"value\":_vm.unitTimeEnum.SECONDS.value.value}},[_vm._v(\" \"+_vm._s(_vm.unitTimeEnum.SECONDS.value.name)+\" \")]),_c('option',{domProps:{\"value\":_vm.unitTimeEnum.MINUTES.value.value}},[_vm._v(\" \"+_vm._s(_vm.unitTimeEnum.MINUTES.value.name)+\" \")])])],1)],1)],1)],_c('div',{style:(_vm.timeFieldsDisplay)},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('unit')),expression:\"errors.has('unit')\"}],staticClass:\"help is-danger\"},[_vm._v(_vm._s(_vm.errors.first('unit')))]),_c('br'),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('value')),expression:\"errors.has('value')\"}],staticClass:\"help is-danger\"},[_vm._v(_vm._s(_vm.errors.first('value')))])])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./powerExecutionParams.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./powerExecutionParams.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./powerExecutionParams.vue?vue&type=template&id=47ba1f12&\"\nimport script from \"./powerExecutionParams.vue?vue&type=script&lang=js&\"\nexport * from \"./powerExecutionParams.vue?vue&type=script&lang=js&\"\nimport style0 from \"./powerExecutionParams.vue?vue&type=style&index=0&id=47ba1f12&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DevicesDiskPartitions.vue?vue&type=style&index=1&id=31936349&prod&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceUpdates.vue?vue&type=style&index=0&id=3dcc269e&prod&scoped=true&lang=css&\"","var classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceLogNotes.vue?vue&type=style&index=0&id=4e584e48&prod&scoped=true&lang=css&\"","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar regExpFlags = require('../internals/regexp-flags');\nvar fails = require('../internals/fails');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError\nvar RegExp = global.RegExp;\nvar RegExpPrototype = RegExp.prototype;\n\nvar FORCED = DESCRIPTORS && fails(function () {\n var INDICES_SUPPORT = true;\n try {\n RegExp('.', 'd');\n } catch (error) {\n INDICES_SUPPORT = false;\n }\n\n var O = {};\n // modern V8 bug\n var calls = '';\n var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy';\n\n var addGetter = function (key, chr) {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(O, key, { get: function () {\n calls += chr;\n return true;\n } });\n };\n\n var pairs = {\n dotAll: 's',\n global: 'g',\n ignoreCase: 'i',\n multiline: 'm',\n sticky: 'y'\n };\n\n if (INDICES_SUPPORT) pairs.hasIndices = 'd';\n\n for (var key in pairs) addGetter(key, pairs[key]);\n\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n var result = Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call(O);\n\n return result !== expected || calls !== expected;\n});\n\n// `RegExp.prototype.flags` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nif (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', {\n configurable: true,\n get: regExpFlags\n});\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceFileVaultKeysHistory.vue?vue&type=style&index=1&id=380d3c94&prod&scoped=true&lang=css&\"","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DevicesDiskPartitions.vue?vue&type=style&index=0&id=31936349&prod&scoped=true&lang=css&\"","\"use strict\";\r\nmodule.exports = EventEmitter;\r\n\r\n/**\r\n * Constructs a new event emitter instance.\r\n * @classdesc A minimal event emitter.\r\n * @memberof util\r\n * @constructor\r\n */\r\nfunction EventEmitter() {\r\n\r\n /**\r\n * Registered listeners.\r\n * @type {Object.}\r\n * @private\r\n */\r\n this._listeners = {};\r\n}\r\n\r\n/**\r\n * Registers an event listener.\r\n * @param {string} evt Event name\r\n * @param {function} fn Listener\r\n * @param {*} [ctx] Listener context\r\n * @returns {util.EventEmitter} `this`\r\n */\r\nEventEmitter.prototype.on = function on(evt, fn, ctx) {\r\n (this._listeners[evt] || (this._listeners[evt] = [])).push({\r\n fn : fn,\r\n ctx : ctx || this\r\n });\r\n return this;\r\n};\r\n\r\n/**\r\n * Removes an event listener or any matching listeners if arguments are omitted.\r\n * @param {string} [evt] Event name. Removes all listeners if omitted.\r\n * @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.\r\n * @returns {util.EventEmitter} `this`\r\n */\r\nEventEmitter.prototype.off = function off(evt, fn) {\r\n if (evt === undefined)\r\n this._listeners = {};\r\n else {\r\n if (fn === undefined)\r\n this._listeners[evt] = [];\r\n else {\r\n var listeners = this._listeners[evt];\r\n for (var i = 0; i < listeners.length;)\r\n if (listeners[i].fn === fn)\r\n listeners.splice(i, 1);\r\n else\r\n ++i;\r\n }\r\n }\r\n return this;\r\n};\r\n\r\n/**\r\n * Emits an event by calling its listeners with the specified arguments.\r\n * @param {string} evt Event name\r\n * @param {...*} args Arguments\r\n * @returns {util.EventEmitter} `this`\r\n */\r\nEventEmitter.prototype.emit = function emit(evt) {\r\n var listeners = this._listeners[evt];\r\n if (listeners) {\r\n var args = [],\r\n i = 1;\r\n for (; i < arguments.length;)\r\n args.push(arguments[i++]);\r\n for (i = 0; i < listeners.length;)\r\n listeners[i].fn.apply(listeners[i++].ctx, args);\r\n }\r\n return this;\r\n};\r\n","\"use strict\";\nvar protobuf = exports;\n\n/**\n * Build type, one of `\"full\"`, `\"light\"` or `\"minimal\"`.\n * @name build\n * @type {string}\n * @const\n */\nprotobuf.build = \"minimal\";\n\n// Serialization\nprotobuf.Writer = require(\"./writer\");\nprotobuf.BufferWriter = require(\"./writer_buffer\");\nprotobuf.Reader = require(\"./reader\");\nprotobuf.BufferReader = require(\"./reader_buffer\");\n\n// Utility\nprotobuf.util = require(\"./util/minimal\");\nprotobuf.rpc = require(\"./rpc\");\nprotobuf.roots = require(\"./roots\");\nprotobuf.configure = configure;\n\n/* istanbul ignore next */\n/**\n * Reconfigures the library according to the environment.\n * @returns {undefined}\n */\nfunction configure() {\n protobuf.util._configure();\n protobuf.Writer._configure(protobuf.BufferWriter);\n protobuf.Reader._configure(protobuf.BufferReader);\n}\n\n// Set up buffer utility according to the environment\nconfigure();\n","\"use strict\";\r\n\r\n/**\r\n * A minimal base64 implementation for number arrays.\r\n * @memberof util\r\n * @namespace\r\n */\r\nvar base64 = exports;\r\n\r\n/**\r\n * Calculates the byte length of a base64 encoded string.\r\n * @param {string} string Base64 encoded string\r\n * @returns {number} Byte length\r\n */\r\nbase64.length = function length(string) {\r\n var p = string.length;\r\n if (!p)\r\n return 0;\r\n var n = 0;\r\n while (--p % 4 > 1 && string.charAt(p) === \"=\")\r\n ++n;\r\n return Math.ceil(string.length * 3) / 4 - n;\r\n};\r\n\r\n// Base64 encoding table\r\nvar b64 = new Array(64);\r\n\r\n// Base64 decoding table\r\nvar s64 = new Array(123);\r\n\r\n// 65..90, 97..122, 48..57, 43, 47\r\nfor (var i = 0; i < 64;)\r\n s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++;\r\n\r\n/**\r\n * Encodes a buffer to a base64 encoded string.\r\n * @param {Uint8Array} buffer Source buffer\r\n * @param {number} start Source start\r\n * @param {number} end Source end\r\n * @returns {string} Base64 encoded string\r\n */\r\nbase64.encode = function encode(buffer, start, end) {\r\n var parts = null,\r\n chunk = [];\r\n var i = 0, // output index\r\n j = 0, // goto index\r\n t; // temporary\r\n while (start < end) {\r\n var b = buffer[start++];\r\n switch (j) {\r\n case 0:\r\n chunk[i++] = b64[b >> 2];\r\n t = (b & 3) << 4;\r\n j = 1;\r\n break;\r\n case 1:\r\n chunk[i++] = b64[t | b >> 4];\r\n t = (b & 15) << 2;\r\n j = 2;\r\n break;\r\n case 2:\r\n chunk[i++] = b64[t | b >> 6];\r\n chunk[i++] = b64[b & 63];\r\n j = 0;\r\n break;\r\n }\r\n if (i > 8191) {\r\n (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));\r\n i = 0;\r\n }\r\n }\r\n if (j) {\r\n chunk[i++] = b64[t];\r\n chunk[i++] = 61;\r\n if (j === 1)\r\n chunk[i++] = 61;\r\n }\r\n if (parts) {\r\n if (i)\r\n parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));\r\n return parts.join(\"\");\r\n }\r\n return String.fromCharCode.apply(String, chunk.slice(0, i));\r\n};\r\n\r\nvar invalidEncoding = \"invalid encoding\";\r\n\r\n/**\r\n * Decodes a base64 encoded string to a buffer.\r\n * @param {string} string Source string\r\n * @param {Uint8Array} buffer Destination buffer\r\n * @param {number} offset Destination offset\r\n * @returns {number} Number of bytes written\r\n * @throws {Error} If encoding is invalid\r\n */\r\nbase64.decode = function decode(string, buffer, offset) {\r\n var start = offset;\r\n var j = 0, // goto index\r\n t; // temporary\r\n for (var i = 0; i < string.length;) {\r\n var c = string.charCodeAt(i++);\r\n if (c === 61 && j > 1)\r\n break;\r\n if ((c = s64[c]) === undefined)\r\n throw Error(invalidEncoding);\r\n switch (j) {\r\n case 0:\r\n t = c;\r\n j = 1;\r\n break;\r\n case 1:\r\n buffer[offset++] = t << 2 | (c & 48) >> 4;\r\n t = c;\r\n j = 2;\r\n break;\r\n case 2:\r\n buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;\r\n t = c;\r\n j = 3;\r\n break;\r\n case 3:\r\n buffer[offset++] = (t & 3) << 6 | c;\r\n j = 0;\r\n break;\r\n }\r\n }\r\n if (j === 1)\r\n throw Error(invalidEncoding);\r\n return offset - start;\r\n};\r\n\r\n/**\r\n * Tests if the specified string appears to be base64 encoded.\r\n * @param {string} string String to test\r\n * @returns {boolean} `true` if probably base64 encoded, otherwise false\r\n */\r\nbase64.test = function test(string) {\r\n return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string);\r\n};\r\n","\"use strict\";\nmodule.exports = Type;\n\n// extends Namespace\nvar Namespace = require(\"./namespace\");\n((Type.prototype = Object.create(Namespace.prototype)).constructor = Type).className = \"Type\";\n\nvar Enum = require(\"./enum\"),\n OneOf = require(\"./oneof\"),\n Field = require(\"./field\"),\n MapField = require(\"./mapfield\"),\n Service = require(\"./service\"),\n Message = require(\"./message\"),\n Reader = require(\"./reader\"),\n Writer = require(\"./writer\"),\n util = require(\"./util\"),\n encoder = require(\"./encoder\"),\n decoder = require(\"./decoder\"),\n verifier = require(\"./verifier\"),\n converter = require(\"./converter\"),\n wrappers = require(\"./wrappers\");\n\n/**\n * Constructs a new reflected message type instance.\n * @classdesc Reflected message type.\n * @extends NamespaceBase\n * @constructor\n * @param {string} name Message name\n * @param {Object.} [options] Declared options\n */\nfunction Type(name, options) {\n Namespace.call(this, name, options);\n\n /**\n * Message fields.\n * @type {Object.}\n */\n this.fields = {}; // toJSON, marker\n\n /**\n * Oneofs declared within this namespace, if any.\n * @type {Object.}\n */\n this.oneofs = undefined; // toJSON\n\n /**\n * Extension ranges, if any.\n * @type {number[][]}\n */\n this.extensions = undefined; // toJSON\n\n /**\n * Reserved ranges, if any.\n * @type {Array.}\n */\n this.reserved = undefined; // toJSON\n\n /*?\n * Whether this type is a legacy group.\n * @type {boolean|undefined}\n */\n this.group = undefined; // toJSON\n\n /**\n * Cached fields by id.\n * @type {Object.|null}\n * @private\n */\n this._fieldsById = null;\n\n /**\n * Cached fields as an array.\n * @type {Field[]|null}\n * @private\n */\n this._fieldsArray = null;\n\n /**\n * Cached oneofs as an array.\n * @type {OneOf[]|null}\n * @private\n */\n this._oneofsArray = null;\n\n /**\n * Cached constructor.\n * @type {Constructor<{}>}\n * @private\n */\n this._ctor = null;\n}\n\nObject.defineProperties(Type.prototype, {\n\n /**\n * Message fields by id.\n * @name Type#fieldsById\n * @type {Object.}\n * @readonly\n */\n fieldsById: {\n get: function() {\n\n /* istanbul ignore if */\n if (this._fieldsById)\n return this._fieldsById;\n\n this._fieldsById = {};\n for (var names = Object.keys(this.fields), i = 0; i < names.length; ++i) {\n var field = this.fields[names[i]],\n id = field.id;\n\n /* istanbul ignore if */\n if (this._fieldsById[id])\n throw Error(\"duplicate id \" + id + \" in \" + this);\n\n this._fieldsById[id] = field;\n }\n return this._fieldsById;\n }\n },\n\n /**\n * Fields of this message as an array for iteration.\n * @name Type#fieldsArray\n * @type {Field[]}\n * @readonly\n */\n fieldsArray: {\n get: function() {\n return this._fieldsArray || (this._fieldsArray = util.toArray(this.fields));\n }\n },\n\n /**\n * Oneofs of this message as an array for iteration.\n * @name Type#oneofsArray\n * @type {OneOf[]}\n * @readonly\n */\n oneofsArray: {\n get: function() {\n return this._oneofsArray || (this._oneofsArray = util.toArray(this.oneofs));\n }\n },\n\n /**\n * The registered constructor, if any registered, otherwise a generic constructor.\n * Assigning a function replaces the internal constructor. If the function does not extend {@link Message} yet, its prototype will be setup accordingly and static methods will be populated. If it already extends {@link Message}, it will just replace the internal constructor.\n * @name Type#ctor\n * @type {Constructor<{}>}\n */\n ctor: {\n get: function() {\n return this._ctor || (this.ctor = Type.generateConstructor(this)());\n },\n set: function(ctor) {\n\n // Ensure proper prototype\n var prototype = ctor.prototype;\n if (!(prototype instanceof Message)) {\n (ctor.prototype = new Message()).constructor = ctor;\n util.merge(ctor.prototype, prototype);\n }\n\n // Classes and messages reference their reflected type\n ctor.$type = ctor.prototype.$type = this;\n\n // Mix in static methods\n util.merge(ctor, Message, true);\n\n this._ctor = ctor;\n\n // Messages have non-enumerable default values on their prototype\n var i = 0;\n for (; i < /* initializes */ this.fieldsArray.length; ++i)\n this._fieldsArray[i].resolve(); // ensures a proper value\n\n // Messages have non-enumerable getters and setters for each virtual oneof field\n var ctorProperties = {};\n for (i = 0; i < /* initializes */ this.oneofsArray.length; ++i)\n ctorProperties[this._oneofsArray[i].resolve().name] = {\n get: util.oneOfGetter(this._oneofsArray[i].oneof),\n set: util.oneOfSetter(this._oneofsArray[i].oneof)\n };\n if (i)\n Object.defineProperties(ctor.prototype, ctorProperties);\n }\n }\n});\n\n/**\n * Generates a constructor function for the specified type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nType.generateConstructor = function generateConstructor(mtype) {\n /* eslint-disable no-unexpected-multiline */\n var gen = util.codegen([\"p\"], mtype.name);\n // explicitly initialize mutable object/array fields so that these aren't just inherited from the prototype\n for (var i = 0, field; i < mtype.fieldsArray.length; ++i)\n if ((field = mtype._fieldsArray[i]).map) gen\n (\"this%s={}\", util.safeProp(field.name));\n else if (field.repeated) gen\n (\"this%s=[]\", util.safeProp(field.name));\n return gen\n (\"if(p)for(var ks=Object.keys(p),i=0;i} [oneofs] Oneof descriptors\n * @property {Object.} fields Field descriptors\n * @property {number[][]} [extensions] Extension ranges\n * @property {number[][]} [reserved] Reserved ranges\n * @property {boolean} [group=false] Whether a legacy group or not\n */\n\n/**\n * Creates a message type from a message type descriptor.\n * @param {string} name Message name\n * @param {IType} json Message type descriptor\n * @returns {Type} Created message type\n */\nType.fromJSON = function fromJSON(name, json) {\n var type = new Type(name, json.options);\n type.extensions = json.extensions;\n type.reserved = json.reserved;\n var names = Object.keys(json.fields),\n i = 0;\n for (; i < names.length; ++i)\n type.add(\n ( typeof json.fields[names[i]].keyType !== \"undefined\"\n ? MapField.fromJSON\n : Field.fromJSON )(names[i], json.fields[names[i]])\n );\n if (json.oneofs)\n for (names = Object.keys(json.oneofs), i = 0; i < names.length; ++i)\n type.add(OneOf.fromJSON(names[i], json.oneofs[names[i]]));\n if (json.nested)\n for (names = Object.keys(json.nested), i = 0; i < names.length; ++i) {\n var nested = json.nested[names[i]];\n type.add( // most to least likely\n ( nested.id !== undefined\n ? Field.fromJSON\n : nested.fields !== undefined\n ? Type.fromJSON\n : nested.values !== undefined\n ? Enum.fromJSON\n : nested.methods !== undefined\n ? Service.fromJSON\n : Namespace.fromJSON )(names[i], nested)\n );\n }\n if (json.extensions && json.extensions.length)\n type.extensions = json.extensions;\n if (json.reserved && json.reserved.length)\n type.reserved = json.reserved;\n if (json.group)\n type.group = true;\n if (json.comment)\n type.comment = json.comment;\n return type;\n};\n\n/**\n * Converts this message type to a message type descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IType} Message type descriptor\n */\nType.prototype.toJSON = function toJSON(toJSONOptions) {\n var inherited = Namespace.prototype.toJSON.call(this, toJSONOptions);\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"options\" , inherited && inherited.options || undefined,\n \"oneofs\" , Namespace.arrayToJSON(this.oneofsArray, toJSONOptions),\n \"fields\" , Namespace.arrayToJSON(this.fieldsArray.filter(function(obj) { return !obj.declaringField; }), toJSONOptions) || {},\n \"extensions\" , this.extensions && this.extensions.length ? this.extensions : undefined,\n \"reserved\" , this.reserved && this.reserved.length ? this.reserved : undefined,\n \"group\" , this.group || undefined,\n \"nested\" , inherited && inherited.nested || undefined,\n \"comment\" , keepComments ? this.comment : undefined\n ]);\n};\n\n/**\n * @override\n */\nType.prototype.resolveAll = function resolveAll() {\n var fields = this.fieldsArray, i = 0;\n while (i < fields.length)\n fields[i++].resolve();\n var oneofs = this.oneofsArray; i = 0;\n while (i < oneofs.length)\n oneofs[i++].resolve();\n return Namespace.prototype.resolveAll.call(this);\n};\n\n/**\n * @override\n */\nType.prototype.get = function get(name) {\n return this.fields[name]\n || this.oneofs && this.oneofs[name]\n || this.nested && this.nested[name]\n || null;\n};\n\n/**\n * Adds a nested object to this type.\n * @param {ReflectionObject} object Nested object to add\n * @returns {Type} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If there is already a nested object with this name or, if a field, when there is already a field with this id\n */\nType.prototype.add = function add(object) {\n\n if (this.get(object.name))\n throw Error(\"duplicate name '\" + object.name + \"' in \" + this);\n\n if (object instanceof Field && object.extend === undefined) {\n // NOTE: Extension fields aren't actual fields on the declaring type, but nested objects.\n // The root object takes care of adding distinct sister-fields to the respective extended\n // type instead.\n\n // avoids calling the getter if not absolutely necessary because it's called quite frequently\n if (this._fieldsById ? /* istanbul ignore next */ this._fieldsById[object.id] : this.fieldsById[object.id])\n throw Error(\"duplicate id \" + object.id + \" in \" + this);\n if (this.isReservedId(object.id))\n throw Error(\"id \" + object.id + \" is reserved in \" + this);\n if (this.isReservedName(object.name))\n throw Error(\"name '\" + object.name + \"' is reserved in \" + this);\n\n if (object.parent)\n object.parent.remove(object);\n this.fields[object.name] = object;\n object.message = this;\n object.onAdd(this);\n return clearCache(this);\n }\n if (object instanceof OneOf) {\n if (!this.oneofs)\n this.oneofs = {};\n this.oneofs[object.name] = object;\n object.onAdd(this);\n return clearCache(this);\n }\n return Namespace.prototype.add.call(this, object);\n};\n\n/**\n * Removes a nested object from this type.\n * @param {ReflectionObject} object Nested object to remove\n * @returns {Type} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If `object` is not a member of this type\n */\nType.prototype.remove = function remove(object) {\n if (object instanceof Field && object.extend === undefined) {\n // See Type#add for the reason why extension fields are excluded here.\n\n /* istanbul ignore if */\n if (!this.fields || this.fields[object.name] !== object)\n throw Error(object + \" is not a member of \" + this);\n\n delete this.fields[object.name];\n object.parent = null;\n object.onRemove(this);\n return clearCache(this);\n }\n if (object instanceof OneOf) {\n\n /* istanbul ignore if */\n if (!this.oneofs || this.oneofs[object.name] !== object)\n throw Error(object + \" is not a member of \" + this);\n\n delete this.oneofs[object.name];\n object.parent = null;\n object.onRemove(this);\n return clearCache(this);\n }\n return Namespace.prototype.remove.call(this, object);\n};\n\n/**\n * Tests if the specified id is reserved.\n * @param {number} id Id to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nType.prototype.isReservedId = function isReservedId(id) {\n return Namespace.isReservedId(this.reserved, id);\n};\n\n/**\n * Tests if the specified name is reserved.\n * @param {string} name Name to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nType.prototype.isReservedName = function isReservedName(name) {\n return Namespace.isReservedName(this.reserved, name);\n};\n\n/**\n * Creates a new message of this type using the specified properties.\n * @param {Object.} [properties] Properties to set\n * @returns {Message<{}>} Message instance\n */\nType.prototype.create = function create(properties) {\n return new this.ctor(properties);\n};\n\n/**\n * Sets up {@link Type#encode|encode}, {@link Type#decode|decode} and {@link Type#verify|verify}.\n * @returns {Type} `this`\n */\nType.prototype.setup = function setup() {\n // Sets up everything at once so that the prototype chain does not have to be re-evaluated\n // multiple times (V8, soft-deopt prototype-check).\n\n var fullName = this.fullName,\n types = [];\n for (var i = 0; i < /* initializes */ this.fieldsArray.length; ++i)\n types.push(this._fieldsArray[i].resolve().resolvedType);\n\n // Replace setup methods with type-specific generated functions\n this.encode = encoder(this)({\n Writer : Writer,\n types : types,\n util : util\n });\n this.decode = decoder(this)({\n Reader : Reader,\n types : types,\n util : util\n });\n this.verify = verifier(this)({\n types : types,\n util : util\n });\n this.fromObject = converter.fromObject(this)({\n types : types,\n util : util\n });\n this.toObject = converter.toObject(this)({\n types : types,\n util : util\n });\n\n // Inject custom wrappers for common types\n var wrapper = wrappers[fullName];\n if (wrapper) {\n var originalThis = Object.create(this);\n // if (wrapper.fromObject) {\n originalThis.fromObject = this.fromObject;\n this.fromObject = wrapper.fromObject.bind(originalThis);\n // }\n // if (wrapper.toObject) {\n originalThis.toObject = this.toObject;\n this.toObject = wrapper.toObject.bind(originalThis);\n // }\n }\n\n return this;\n};\n\n/**\n * Encodes a message of this type. Does not implicitly {@link Type#verify|verify} messages.\n * @param {Message<{}>|Object.} message Message instance or plain object\n * @param {Writer} [writer] Writer to encode to\n * @returns {Writer} writer\n */\nType.prototype.encode = function encode_setup(message, writer) {\n return this.setup().encode(message, writer); // overrides this method\n};\n\n/**\n * Encodes a message of this type preceeded by its byte length as a varint. Does not implicitly {@link Type#verify|verify} messages.\n * @param {Message<{}>|Object.} message Message instance or plain object\n * @param {Writer} [writer] Writer to encode to\n * @returns {Writer} writer\n */\nType.prototype.encodeDelimited = function encodeDelimited(message, writer) {\n return this.encode(message, writer && writer.len ? writer.fork() : writer).ldelim();\n};\n\n/**\n * Decodes a message of this type.\n * @param {Reader|Uint8Array} reader Reader or buffer to decode from\n * @param {number} [length] Length of the message, if known beforehand\n * @returns {Message<{}>} Decoded message\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {util.ProtocolError<{}>} If required fields are missing\n */\nType.prototype.decode = function decode_setup(reader, length) {\n return this.setup().decode(reader, length); // overrides this method\n};\n\n/**\n * Decodes a message of this type preceeded by its byte length as a varint.\n * @param {Reader|Uint8Array} reader Reader or buffer to decode from\n * @returns {Message<{}>} Decoded message\n * @throws {Error} If the payload is not a reader or valid buffer\n * @throws {util.ProtocolError} If required fields are missing\n */\nType.prototype.decodeDelimited = function decodeDelimited(reader) {\n if (!(reader instanceof Reader))\n reader = Reader.create(reader);\n return this.decode(reader, reader.uint32());\n};\n\n/**\n * Verifies that field values are valid and that required fields are present.\n * @param {Object.} message Plain object to verify\n * @returns {null|string} `null` if valid, otherwise the reason why it is not\n */\nType.prototype.verify = function verify_setup(message) {\n return this.setup().verify(message); // overrides this method\n};\n\n/**\n * Creates a new message of this type from a plain object. Also converts values to their respective internal types.\n * @param {Object.} object Plain object to convert\n * @returns {Message<{}>} Message instance\n */\nType.prototype.fromObject = function fromObject(object) {\n return this.setup().fromObject(object);\n};\n\n/**\n * Conversion options as used by {@link Type#toObject} and {@link Message.toObject}.\n * @interface IConversionOptions\n * @property {Function} [longs] Long conversion type.\n * Valid values are `String` and `Number` (the global types).\n * Defaults to copy the present value, which is a possibly unsafe number without and a {@link Long} with a long library.\n * @property {Function} [enums] Enum value conversion type.\n * Only valid value is `String` (the global type).\n * Defaults to copy the present value, which is the numeric id.\n * @property {Function} [bytes] Bytes value conversion type.\n * Valid values are `Array` and (a base64 encoded) `String` (the global types).\n * Defaults to copy the present value, which usually is a Buffer under node and an Uint8Array in the browser.\n * @property {boolean} [defaults=false] Also sets default values on the resulting object\n * @property {boolean} [arrays=false] Sets empty arrays for missing repeated fields even if `defaults=false`\n * @property {boolean} [objects=false] Sets empty objects for missing map fields even if `defaults=false`\n * @property {boolean} [oneofs=false] Includes virtual oneof properties set to the present field's name, if any\n * @property {boolean} [json=false] Performs additional JSON compatibility conversions, i.e. NaN and Infinity to strings\n */\n\n/**\n * Creates a plain object from a message of this type. Also converts values to other types if specified.\n * @param {Message<{}>} message Message instance\n * @param {IConversionOptions} [options] Conversion options\n * @returns {Object.} Plain object\n */\nType.prototype.toObject = function toObject(message, options) {\n return this.setup().toObject(message, options);\n};\n\n/**\n * Decorator function as returned by {@link Type.d} (TypeScript).\n * @typedef TypeDecorator\n * @type {function}\n * @param {Constructor} target Target constructor\n * @returns {undefined}\n * @template T extends Message\n */\n\n/**\n * Type decorator (TypeScript).\n * @param {string} [typeName] Type name, defaults to the constructor's name\n * @returns {TypeDecorator} Decorator function\n * @template T extends Message\n */\nType.d = function decorateType(typeName) {\n return function typeDecorator(target) {\n util.decorateType(target, typeName);\n };\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('label',[_vm._v(\" Parameters to execute \"+_vm._s(_vm.title)+\" \"),_c('br'),_vm._v(\" Warning: This action will delete all the content chosen from the chosen folder. \")]),_c('br'),_c('br'),_c('div',[_c('div',{staticClass:\"option-container\"},[_vm._m(0),_c('div',[_c('b-dropdown',{staticClass:\"inner-element mt-2\",attrs:{\"aria-role\":\"list\",\"position\":'is-bottom-right',\"scrollable\":\"\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function({ active }){return [_c('b-button',{staticStyle:{\"background-color\":\"#632d8e\",\"color\":\"#fff\",\"width\":\"200px\"},attrs:{\"label\":_vm.parameters.folderToClean\n ? `${_vm.foldersToCleanArray.find(x =>\n x.id === parseInt(_vm.parameters.folderToClean)).name} folder`\n :'folder',\"icon-right\":active ? 'menu-up' : 'menu-down'}})]}}]),model:{value:(_vm.parameters.folderToClean),callback:function ($$v) {_vm.$set(_vm.parameters, \"folderToClean\", $$v)},expression:\"parameters.folderToClean\"}},_vm._l((_vm.foldersToCleanArray),function(folder){return _c('b-dropdown-item',{key:folder.id,attrs:{\"aria-role\":\"listitem\",\"value\":folder.id}},[_vm._v(\" \"+_vm._s(folder.name)+\" folder \")])}),1)],1)]),_c('hr'),_c('div',{staticClass:\"option-container\"},[_vm._m(1),_c('div',[_c('b-dropdown',{staticClass:\"inner-element mt-2\",attrs:{\"aria-role\":\"list\",\"position\":'is-bottom-right',\"scrollable\":\"\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function({ active }){return [_c('b-button',{staticStyle:{\"background-color\":\"#632d8e\",\"color\":\"#fff\",\"width\":\"200px\"},attrs:{\"label\":_vm.parameters.olderThan\n ? `Older than ${_vm.frequenciesArray.find(x =>\n x.id === parseInt(_vm.parameters.olderThan)).name}`\n :'All files',\"icon-right\":active ? 'menu-up' : 'menu-down'}})]}}]),model:{value:(_vm.parameters.olderThan),callback:function ($$v) {_vm.$set(_vm.parameters, \"olderThan\", $$v)},expression:\"parameters.olderThan\"}},_vm._l((_vm.frequenciesArray),function(frequency){return _c('b-dropdown-item',{key:frequency.id,attrs:{\"aria-role\":\"listitem\",\"value\":frequency.id}},[_vm._v(\" \"+_vm._s(_vm.getTextOptions(frequency))+\" \")])}),1)],1)])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('p',[_c('strong',[_vm._v(\"1. Select a folder to clean\")]),_c('br'),_vm._v(\" You can choose between different system folders to clean \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_c('strong',[_vm._v(\"2. Settings to clean the selected folder\")]),_c('br'),_vm._v(\" Choose the age of the files and the type of deletion \")])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./deleteFilesFromFolder.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./deleteFilesFromFolder.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./deleteFilesFromFolder.vue?vue&type=template&id=18869f26&\"\nimport script from \"./deleteFilesFromFolder.vue?vue&type=script&lang=js&\"\nexport * from \"./deleteFilesFromFolder.vue?vue&type=script&lang=js&\"\nimport style0 from \"./deleteFilesFromFolder.vue?vue&type=style&index=0&id=18869f26&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import moment from 'moment';\nimport { mapActions } from 'vuex';\nimport toastMessage from '@/helpers/toastMessage';\nimport crossHelper from '@/helpers/cross';\n\nexport default {\n name: 'CsvMixin',\n methods: {\n ...mapActions('reports-history', { findReport: 'find' }),\n ...mapActions('csv', { createCsv: 'find' }),\n async getCSVFromApi(type, deviceId, asExcel = false, devicesStatus) {\n const reports = await this.findReport({\n query: {\n companyId: this.currentCompany.id,\n userId: this.$store.getters['auth/user'].id,\n type,\n deviceId: deviceId || null,\n $sort: { createdAt: -1 },\n $limit: 1,\n },\n });\n\n if (reports.data.length > 0 && moment().diff(reports.data[0].createdAt, 'minutes') < 5) {\n toastMessage.showError(`You can request another ${type} report\n ${moment(reports.data[0].createdAt).add(5, 'minutes').fromNow()}`);\n } else {\n if (!deviceId) toastMessage.showSuccess('We will send you an email when the export is ready.');\n const answer = await this.createCsv({\n query: {\n companyId: this.currentCompany.id,\n userId: this.$store.getters['auth/user'].id,\n type,\n asExcel,\n deviceId: deviceId || null,\n devicesStatus,\n },\n });\n if (answer.downloadUrl) crossHelper.openExternalLink(answer.downloadUrl, false);\n }\n },\n },\n};\n","\"use strict\";\nmodule.exports = Service;\n\n// extends Namespace\nvar Namespace = require(\"./namespace\");\n((Service.prototype = Object.create(Namespace.prototype)).constructor = Service).className = \"Service\";\n\nvar Method = require(\"./method\"),\n util = require(\"./util\"),\n rpc = require(\"./rpc\");\n\n/**\n * Constructs a new service instance.\n * @classdesc Reflected service.\n * @extends NamespaceBase\n * @constructor\n * @param {string} name Service name\n * @param {Object.} [options] Service options\n * @throws {TypeError} If arguments are invalid\n */\nfunction Service(name, options) {\n Namespace.call(this, name, options);\n\n /**\n * Service methods.\n * @type {Object.}\n */\n this.methods = {}; // toJSON, marker\n\n /**\n * Cached methods as an array.\n * @type {Method[]|null}\n * @private\n */\n this._methodsArray = null;\n}\n\n/**\n * Service descriptor.\n * @interface IService\n * @extends INamespace\n * @property {Object.} methods Method descriptors\n */\n\n/**\n * Constructs a service from a service descriptor.\n * @param {string} name Service name\n * @param {IService} json Service descriptor\n * @returns {Service} Created service\n * @throws {TypeError} If arguments are invalid\n */\nService.fromJSON = function fromJSON(name, json) {\n var service = new Service(name, json.options);\n /* istanbul ignore else */\n if (json.methods)\n for (var names = Object.keys(json.methods), i = 0; i < names.length; ++i)\n service.add(Method.fromJSON(names[i], json.methods[names[i]]));\n if (json.nested)\n service.addJSON(json.nested);\n service.comment = json.comment;\n return service;\n};\n\n/**\n * Converts this service to a service descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IService} Service descriptor\n */\nService.prototype.toJSON = function toJSON(toJSONOptions) {\n var inherited = Namespace.prototype.toJSON.call(this, toJSONOptions);\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"options\" , inherited && inherited.options || undefined,\n \"methods\" , Namespace.arrayToJSON(this.methodsArray, toJSONOptions) || /* istanbul ignore next */ {},\n \"nested\" , inherited && inherited.nested || undefined,\n \"comment\" , keepComments ? this.comment : undefined\n ]);\n};\n\n/**\n * Methods of this service as an array for iteration.\n * @name Service#methodsArray\n * @type {Method[]}\n * @readonly\n */\nObject.defineProperty(Service.prototype, \"methodsArray\", {\n get: function() {\n return this._methodsArray || (this._methodsArray = util.toArray(this.methods));\n }\n});\n\nfunction clearCache(service) {\n service._methodsArray = null;\n return service;\n}\n\n/**\n * @override\n */\nService.prototype.get = function get(name) {\n return this.methods[name]\n || Namespace.prototype.get.call(this, name);\n};\n\n/**\n * @override\n */\nService.prototype.resolveAll = function resolveAll() {\n var methods = this.methodsArray;\n for (var i = 0; i < methods.length; ++i)\n methods[i].resolve();\n return Namespace.prototype.resolve.call(this);\n};\n\n/**\n * @override\n */\nService.prototype.add = function add(object) {\n\n /* istanbul ignore if */\n if (this.get(object.name))\n throw Error(\"duplicate name '\" + object.name + \"' in \" + this);\n\n if (object instanceof Method) {\n this.methods[object.name] = object;\n object.parent = this;\n return clearCache(this);\n }\n return Namespace.prototype.add.call(this, object);\n};\n\n/**\n * @override\n */\nService.prototype.remove = function remove(object) {\n if (object instanceof Method) {\n\n /* istanbul ignore if */\n if (this.methods[object.name] !== object)\n throw Error(object + \" is not a member of \" + this);\n\n delete this.methods[object.name];\n object.parent = null;\n return clearCache(this);\n }\n return Namespace.prototype.remove.call(this, object);\n};\n\n/**\n * Creates a runtime service using the specified rpc implementation.\n * @param {RPCImpl} rpcImpl RPC implementation\n * @param {boolean} [requestDelimited=false] Whether requests are length-delimited\n * @param {boolean} [responseDelimited=false] Whether responses are length-delimited\n * @returns {rpc.Service} RPC service. Useful where requests and/or responses are streamed.\n */\nService.prototype.create = function create(rpcImpl, requestDelimited, responseDelimited) {\n var rpcService = new rpc.Service(rpcImpl, requestDelimited, responseDelimited);\n for (var i = 0, method; i < /* initializes */ this.methodsArray.length; ++i) {\n var methodName = util.lcFirst((method = this._methodsArray[i]).resolve().name).replace(/[^$\\w_]/g, \"\");\n rpcService[methodName] = util.codegen([\"r\",\"c\"], util.isReserved(methodName) ? methodName + \"_\" : methodName)(\"return this.rpcCall(m,q,s,r,c)\")({\n m: method,\n q: method.resolvedRequestType.ctor,\n s: method.resolvedResponseType.ctor\n });\n }\n return rpcService;\n};\n","\"use strict\";\nmodule.exports = encoder;\n\nvar Enum = require(\"./enum\"),\n types = require(\"./types\"),\n util = require(\"./util\");\n\n/**\n * Generates a partial message type encoder.\n * @param {Codegen} gen Codegen instance\n * @param {Field} field Reflected field\n * @param {number} fieldIndex Field index\n * @param {string} ref Variable reference\n * @returns {Codegen} Codegen instance\n * @ignore\n */\nfunction genTypePartial(gen, field, fieldIndex, ref) {\n return field.resolvedType.group\n ? gen(\"types[%i].encode(%s,w.uint32(%i)).uint32(%i)\", fieldIndex, ref, (field.id << 3 | 3) >>> 0, (field.id << 3 | 4) >>> 0)\n : gen(\"types[%i].encode(%s,w.uint32(%i).fork()).ldelim()\", fieldIndex, ref, (field.id << 3 | 2) >>> 0);\n}\n\n/**\n * Generates an encoder specific to the specified message type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nfunction encoder(mtype) {\n /* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */\n var gen = util.codegen([\"m\", \"w\"], mtype.name + \"$encode\")\n (\"if(!w)\")\n (\"w=Writer.create()\");\n\n var i, ref;\n\n // \"when a message is serialized its known fields should be written sequentially by field number\"\n var fields = /* initializes */ mtype.fieldsArray.slice().sort(util.compareFieldsById);\n\n for (var i = 0; i < fields.length; ++i) {\n var field = fields[i].resolve(),\n index = mtype._fieldsArray.indexOf(field),\n type = field.resolvedType instanceof Enum ? \"int32\" : field.type,\n wireType = types.basic[type];\n ref = \"m\" + util.safeProp(field.name);\n\n // Map fields\n if (field.map) {\n gen\n (\"if(%s!=null&&Object.hasOwnProperty.call(m,%j)){\", ref, field.name) // !== undefined && !== null\n (\"for(var ks=Object.keys(%s),i=0;i>> 0, 8 | types.mapKey[field.keyType], field.keyType);\n if (wireType === undefined) gen\n (\"types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()\", index, ref); // can't be groups\n else gen\n (\".uint32(%i).%s(%s[ks[i]]).ldelim()\", 16 | wireType, type, ref);\n gen\n (\"}\")\n (\"}\");\n\n // Repeated fields\n } else if (field.repeated) { gen\n (\"if(%s!=null&&%s.length){\", ref, ref); // !== undefined && !== null\n\n // Packed repeated\n if (field.packed && types.packed[type] !== undefined) { gen\n\n (\"w.uint32(%i).fork()\", (field.id << 3 | 2) >>> 0)\n (\"for(var i=0;i<%s.length;++i)\", ref)\n (\"w.%s(%s[i])\", type, ref)\n (\"w.ldelim()\");\n\n // Non-packed\n } else { gen\n\n (\"for(var i=0;i<%s.length;++i)\", ref);\n if (wireType === undefined)\n genTypePartial(gen, field, index, ref + \"[i]\");\n else gen\n (\"w.uint32(%i).%s(%s[i])\", (field.id << 3 | wireType) >>> 0, type, ref);\n\n } gen\n (\"}\");\n\n // Non-repeated\n } else {\n if (field.optional) gen\n (\"if(%s!=null&&Object.hasOwnProperty.call(m,%j))\", ref, field.name); // !== undefined && !== null\n\n if (wireType === undefined)\n genTypePartial(gen, field, index, ref);\n else gen\n (\"w.uint32(%i).%s(%s)\", (field.id << 3 | wireType) >>> 0, type, ref);\n\n }\n }\n\n return gen\n (\"return w\");\n /* eslint-enable no-unexpected-multiline, block-scoped-var, no-redeclare */\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ManageGeofences.vue?vue&type=style&index=0&id=4f9fa456&prod&lang=css&\"","\"use strict\";\nmodule.exports = OneOf;\n\n// extends ReflectionObject\nvar ReflectionObject = require(\"./object\");\n((OneOf.prototype = Object.create(ReflectionObject.prototype)).constructor = OneOf).className = \"OneOf\";\n\nvar Field = require(\"./field\"),\n util = require(\"./util\");\n\n/**\n * Constructs a new oneof instance.\n * @classdesc Reflected oneof.\n * @extends ReflectionObject\n * @constructor\n * @param {string} name Oneof name\n * @param {string[]|Object.} [fieldNames] Field names\n * @param {Object.} [options] Declared options\n * @param {string} [comment] Comment associated with this field\n */\nfunction OneOf(name, fieldNames, options, comment) {\n if (!Array.isArray(fieldNames)) {\n options = fieldNames;\n fieldNames = undefined;\n }\n ReflectionObject.call(this, name, options);\n\n /* istanbul ignore if */\n if (!(fieldNames === undefined || Array.isArray(fieldNames)))\n throw TypeError(\"fieldNames must be an Array\");\n\n /**\n * Field names that belong to this oneof.\n * @type {string[]}\n */\n this.oneof = fieldNames || []; // toJSON, marker\n\n /**\n * Fields that belong to this oneof as an array for iteration.\n * @type {Field[]}\n * @readonly\n */\n this.fieldsArray = []; // declared readonly for conformance, possibly not yet added to parent\n\n /**\n * Comment for this field.\n * @type {string|null}\n */\n this.comment = comment;\n}\n\n/**\n * Oneof descriptor.\n * @interface IOneOf\n * @property {Array.} oneof Oneof field names\n * @property {Object.} [options] Oneof options\n */\n\n/**\n * Constructs a oneof from a oneof descriptor.\n * @param {string} name Oneof name\n * @param {IOneOf} json Oneof descriptor\n * @returns {OneOf} Created oneof\n * @throws {TypeError} If arguments are invalid\n */\nOneOf.fromJSON = function fromJSON(name, json) {\n return new OneOf(name, json.oneof, json.options, json.comment);\n};\n\n/**\n * Converts this oneof to a oneof descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IOneOf} Oneof descriptor\n */\nOneOf.prototype.toJSON = function toJSON(toJSONOptions) {\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"options\" , this.options,\n \"oneof\" , this.oneof,\n \"comment\" , keepComments ? this.comment : undefined\n ]);\n};\n\n/**\n * Adds the fields of the specified oneof to the parent if not already done so.\n * @param {OneOf} oneof The oneof\n * @returns {undefined}\n * @inner\n * @ignore\n */\nfunction addFieldsToParent(oneof) {\n if (oneof.parent)\n for (var i = 0; i < oneof.fieldsArray.length; ++i)\n if (!oneof.fieldsArray[i].parent)\n oneof.parent.add(oneof.fieldsArray[i]);\n}\n\n/**\n * Adds a field to this oneof and removes it from its current parent, if any.\n * @param {Field} field Field to add\n * @returns {OneOf} `this`\n */\nOneOf.prototype.add = function add(field) {\n\n /* istanbul ignore if */\n if (!(field instanceof Field))\n throw TypeError(\"field must be a Field\");\n\n if (field.parent && field.parent !== this.parent)\n field.parent.remove(field);\n this.oneof.push(field.name);\n this.fieldsArray.push(field);\n field.partOf = this; // field.parent remains null\n addFieldsToParent(this);\n return this;\n};\n\n/**\n * Removes a field from this oneof and puts it back to the oneof's parent.\n * @param {Field} field Field to remove\n * @returns {OneOf} `this`\n */\nOneOf.prototype.remove = function remove(field) {\n\n /* istanbul ignore if */\n if (!(field instanceof Field))\n throw TypeError(\"field must be a Field\");\n\n var index = this.fieldsArray.indexOf(field);\n\n /* istanbul ignore if */\n if (index < 0)\n throw Error(field + \" is not a member of \" + this);\n\n this.fieldsArray.splice(index, 1);\n index = this.oneof.indexOf(field.name);\n\n /* istanbul ignore else */\n if (index > -1) // theoretical\n this.oneof.splice(index, 1);\n\n field.partOf = null;\n return this;\n};\n\n/**\n * @override\n */\nOneOf.prototype.onAdd = function onAdd(parent) {\n ReflectionObject.prototype.onAdd.call(this, parent);\n var self = this;\n // Collect present fields\n for (var i = 0; i < this.oneof.length; ++i) {\n var field = parent.get(this.oneof[i]);\n if (field && !field.partOf) {\n field.partOf = self;\n self.fieldsArray.push(field);\n }\n }\n // Add not yet present fields\n addFieldsToParent(this);\n};\n\n/**\n * @override\n */\nOneOf.prototype.onRemove = function onRemove(parent) {\n for (var i = 0, field; i < this.fieldsArray.length; ++i)\n if ((field = this.fieldsArray[i]).parent)\n field.parent.remove(field);\n ReflectionObject.prototype.onRemove.call(this, parent);\n};\n\n/**\n * Decorator function as returned by {@link OneOf.d} (TypeScript).\n * @typedef OneOfDecorator\n * @type {function}\n * @param {Object} prototype Target prototype\n * @param {string} oneofName OneOf name\n * @returns {undefined}\n */\n\n/**\n * OneOf decorator (TypeScript).\n * @function\n * @param {...string} fieldNames Field names\n * @returns {OneOfDecorator} Decorator function\n * @template T extends string\n */\nOneOf.d = function decorateOneOf() {\n var fieldNames = new Array(arguments.length),\n index = 0;\n while (index < arguments.length)\n fieldNames[index] = arguments[index++];\n return function oneOfDecorator(prototype, oneofName) {\n util.decorateType(prototype.constructor)\n .add(new OneOf(oneofName, fieldNames));\n Object.defineProperty(prototype, oneofName, {\n get: util.oneOfGetter(fieldNames),\n set: util.oneOfSetter(fieldNames)\n });\n };\n};\n","\"use strict\";\r\nmodule.exports = fetch;\r\n\r\nvar asPromise = require(\"@protobufjs/aspromise\"),\r\n inquire = require(\"@protobufjs/inquire\");\r\n\r\nvar fs = inquire(\"fs\");\r\n\r\n/**\r\n * Node-style callback as used by {@link util.fetch}.\r\n * @typedef FetchCallback\r\n * @type {function}\r\n * @param {?Error} error Error, if any, otherwise `null`\r\n * @param {string} [contents] File contents, if there hasn't been an error\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Options as used by {@link util.fetch}.\r\n * @typedef FetchOptions\r\n * @type {Object}\r\n * @property {boolean} [binary=false] Whether expecting a binary response\r\n * @property {boolean} [xhr=false] If `true`, forces the use of XMLHttpRequest\r\n */\r\n\r\n/**\r\n * Fetches the contents of a file.\r\n * @memberof util\r\n * @param {string} filename File path or url\r\n * @param {FetchOptions} options Fetch options\r\n * @param {FetchCallback} callback Callback function\r\n * @returns {undefined}\r\n */\r\nfunction fetch(filename, options, callback) {\r\n if (typeof options === \"function\") {\r\n callback = options;\r\n options = {};\r\n } else if (!options)\r\n options = {};\r\n\r\n if (!callback)\r\n return asPromise(fetch, this, filename, options); // eslint-disable-line no-invalid-this\r\n\r\n // if a node-like filesystem is present, try it first but fall back to XHR if nothing is found.\r\n if (!options.xhr && fs && fs.readFile)\r\n return fs.readFile(filename, function fetchReadFileCallback(err, contents) {\r\n return err && typeof XMLHttpRequest !== \"undefined\"\r\n ? fetch.xhr(filename, options, callback)\r\n : err\r\n ? callback(err)\r\n : callback(null, options.binary ? contents : contents.toString(\"utf8\"));\r\n });\r\n\r\n // use the XHR version otherwise.\r\n return fetch.xhr(filename, options, callback);\r\n}\r\n\r\n/**\r\n * Fetches the contents of a file.\r\n * @name util.fetch\r\n * @function\r\n * @param {string} path File path or url\r\n * @param {FetchCallback} callback Callback function\r\n * @returns {undefined}\r\n * @variation 2\r\n */\r\n\r\n/**\r\n * Fetches the contents of a file.\r\n * @name util.fetch\r\n * @function\r\n * @param {string} path File path or url\r\n * @param {FetchOptions} [options] Fetch options\r\n * @returns {Promise} Promise\r\n * @variation 3\r\n */\r\n\r\n/**/\r\nfetch.xhr = function fetch_xhr(filename, options, callback) {\r\n var xhr = new XMLHttpRequest();\r\n xhr.onreadystatechange /* works everywhere */ = function fetchOnReadyStateChange() {\r\n\r\n if (xhr.readyState !== 4)\r\n return undefined;\r\n\r\n // local cors security errors return status 0 / empty string, too. afaik this cannot be\r\n // reliably distinguished from an actually empty file for security reasons. feel free\r\n // to send a pull request if you are aware of a solution.\r\n if (xhr.status !== 0 && xhr.status !== 200)\r\n return callback(Error(\"status \" + xhr.status));\r\n\r\n // if binary data is expected, make sure that some sort of array is returned, even if\r\n // ArrayBuffers are not supported. the binary string fallback, however, is unsafe.\r\n if (options.binary) {\r\n var buffer = xhr.response;\r\n if (!buffer) {\r\n buffer = [];\r\n for (var i = 0; i < xhr.responseText.length; ++i)\r\n buffer.push(xhr.responseText.charCodeAt(i) & 255);\r\n }\r\n return callback(null, typeof Uint8Array !== \"undefined\" ? new Uint8Array(buffer) : buffer);\r\n }\r\n return callback(null, xhr.responseText);\r\n };\r\n\r\n if (options.binary) {\r\n // ref: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data#Receiving_binary_data_in_older_browsers\r\n if (\"overrideMimeType\" in xhr)\r\n xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\r\n xhr.responseType = \"arraybuffer\";\r\n }\r\n\r\n xhr.open(\"GET\", filename);\r\n xhr.send();\r\n};\r\n","export default {\n isChrome() {\n return (navigator.userAgent.indexOf('Chrome') !== -1) && !this.isOpera() && !this.isEdge();\n },\n isOpera() {\n return navigator.userAgent.indexOf('Opera') !== -1 || navigator.userAgent.indexOf('OPR') !== -1;\n },\n isEdge() {\n return navigator.userAgent.indexOf('Edge/') !== -1 || navigator.userAgent.indexOf('Edg/') !== -1;\n },\n isFirefox() {\n return navigator.userAgent.indexOf('Firefox') !== -1;\n },\n isSafari() {\n return navigator.userAgent.indexOf('Safari') !== -1 && !this.isChrome() && !this.isEdge() && !this.isOpera();\n },\n};\n","\"use strict\";\nmodule.exports = Namespace;\n\n// extends ReflectionObject\nvar ReflectionObject = require(\"./object\");\n((Namespace.prototype = Object.create(ReflectionObject.prototype)).constructor = Namespace).className = \"Namespace\";\n\nvar Field = require(\"./field\"),\n OneOf = require(\"./oneof\"),\n util = require(\"./util\");\n\nvar Type, // cyclic\n Service,\n Enum;\n\n/**\n * Constructs a new namespace instance.\n * @name Namespace\n * @classdesc Reflected namespace.\n * @extends NamespaceBase\n * @constructor\n * @param {string} name Namespace name\n * @param {Object.} [options] Declared options\n */\n\n/**\n * Constructs a namespace from JSON.\n * @memberof Namespace\n * @function\n * @param {string} name Namespace name\n * @param {Object.} json JSON object\n * @returns {Namespace} Created namespace\n * @throws {TypeError} If arguments are invalid\n */\nNamespace.fromJSON = function fromJSON(name, json) {\n return new Namespace(name, json.options).addJSON(json.nested);\n};\n\n/**\n * Converts an array of reflection objects to JSON.\n * @memberof Namespace\n * @param {ReflectionObject[]} array Object array\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {Object.|undefined} JSON object or `undefined` when array is empty\n */\nfunction arrayToJSON(array, toJSONOptions) {\n if (!(array && array.length))\n return undefined;\n var obj = {};\n for (var i = 0; i < array.length; ++i)\n obj[array[i].name] = array[i].toJSON(toJSONOptions);\n return obj;\n}\n\nNamespace.arrayToJSON = arrayToJSON;\n\n/**\n * Tests if the specified id is reserved.\n * @param {Array.|undefined} reserved Array of reserved ranges and names\n * @param {number} id Id to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nNamespace.isReservedId = function isReservedId(reserved, id) {\n if (reserved)\n for (var i = 0; i < reserved.length; ++i)\n if (typeof reserved[i] !== \"string\" && reserved[i][0] <= id && reserved[i][1] > id)\n return true;\n return false;\n};\n\n/**\n * Tests if the specified name is reserved.\n * @param {Array.|undefined} reserved Array of reserved ranges and names\n * @param {string} name Name to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nNamespace.isReservedName = function isReservedName(reserved, name) {\n if (reserved)\n for (var i = 0; i < reserved.length; ++i)\n if (reserved[i] === name)\n return true;\n return false;\n};\n\n/**\n * Not an actual constructor. Use {@link Namespace} instead.\n * @classdesc Base class of all reflection objects containing nested objects. This is not an actual class but here for the sake of having consistent type definitions.\n * @exports NamespaceBase\n * @extends ReflectionObject\n * @abstract\n * @constructor\n * @param {string} name Namespace name\n * @param {Object.} [options] Declared options\n * @see {@link Namespace}\n */\nfunction Namespace(name, options) {\n ReflectionObject.call(this, name, options);\n\n /**\n * Nested objects by name.\n * @type {Object.|undefined}\n */\n this.nested = undefined; // toJSON\n\n /**\n * Cached nested objects as an array.\n * @type {ReflectionObject[]|null}\n * @private\n */\n this._nestedArray = null;\n}\n\nfunction clearCache(namespace) {\n namespace._nestedArray = null;\n return namespace;\n}\n\n/**\n * Nested objects of this namespace as an array for iteration.\n * @name NamespaceBase#nestedArray\n * @type {ReflectionObject[]}\n * @readonly\n */\nObject.defineProperty(Namespace.prototype, \"nestedArray\", {\n get: function() {\n return this._nestedArray || (this._nestedArray = util.toArray(this.nested));\n }\n});\n\n/**\n * Namespace descriptor.\n * @interface INamespace\n * @property {Object.} [options] Namespace options\n * @property {Object.} [nested] Nested object descriptors\n */\n\n/**\n * Any extension field descriptor.\n * @typedef AnyExtensionField\n * @type {IExtensionField|IExtensionMapField}\n */\n\n/**\n * Any nested object descriptor.\n * @typedef AnyNestedObject\n * @type {IEnum|IType|IService|AnyExtensionField|INamespace}\n */\n// ^ BEWARE: VSCode hangs forever when using more than 5 types (that's why AnyExtensionField exists in the first place)\n\n/**\n * Converts this namespace to a namespace descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {INamespace} Namespace descriptor\n */\nNamespace.prototype.toJSON = function toJSON(toJSONOptions) {\n return util.toObject([\n \"options\" , this.options,\n \"nested\" , arrayToJSON(this.nestedArray, toJSONOptions)\n ]);\n};\n\n/**\n * Adds nested objects to this namespace from nested object descriptors.\n * @param {Object.} nestedJson Any nested object descriptors\n * @returns {Namespace} `this`\n */\nNamespace.prototype.addJSON = function addJSON(nestedJson) {\n var ns = this;\n /* istanbul ignore else */\n if (nestedJson) {\n for (var names = Object.keys(nestedJson), i = 0, nested; i < names.length; ++i) {\n nested = nestedJson[names[i]];\n ns.add( // most to least likely\n ( nested.fields !== undefined\n ? Type.fromJSON\n : nested.values !== undefined\n ? Enum.fromJSON\n : nested.methods !== undefined\n ? Service.fromJSON\n : nested.id !== undefined\n ? Field.fromJSON\n : Namespace.fromJSON )(names[i], nested)\n );\n }\n }\n return this;\n};\n\n/**\n * Gets the nested object of the specified name.\n * @param {string} name Nested object name\n * @returns {ReflectionObject|null} The reflection object or `null` if it doesn't exist\n */\nNamespace.prototype.get = function get(name) {\n return this.nested && this.nested[name]\n || null;\n};\n\n/**\n * Gets the values of the nested {@link Enum|enum} of the specified name.\n * This methods differs from {@link Namespace#get|get} in that it returns an enum's values directly and throws instead of returning `null`.\n * @param {string} name Nested enum name\n * @returns {Object.} Enum values\n * @throws {Error} If there is no such enum\n */\nNamespace.prototype.getEnum = function getEnum(name) {\n if (this.nested && this.nested[name] instanceof Enum)\n return this.nested[name].values;\n throw Error(\"no such enum: \" + name);\n};\n\n/**\n * Adds a nested object to this namespace.\n * @param {ReflectionObject} object Nested object to add\n * @returns {Namespace} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If there is already a nested object with this name\n */\nNamespace.prototype.add = function add(object) {\n\n if (!(object instanceof Field && object.extend !== undefined || object instanceof Type || object instanceof Enum || object instanceof Service || object instanceof Namespace || object instanceof OneOf))\n throw TypeError(\"object must be a valid nested object\");\n\n if (!this.nested)\n this.nested = {};\n else {\n var prev = this.get(object.name);\n if (prev) {\n if (prev instanceof Namespace && object instanceof Namespace && !(prev instanceof Type || prev instanceof Service)) {\n // replace plain namespace but keep existing nested elements and options\n var nested = prev.nestedArray;\n for (var i = 0; i < nested.length; ++i)\n object.add(nested[i]);\n this.remove(prev);\n if (!this.nested)\n this.nested = {};\n object.setOptions(prev.options, true);\n\n } else\n throw Error(\"duplicate name '\" + object.name + \"' in \" + this);\n }\n }\n this.nested[object.name] = object;\n object.onAdd(this);\n return clearCache(this);\n};\n\n/**\n * Removes a nested object from this namespace.\n * @param {ReflectionObject} object Nested object to remove\n * @returns {Namespace} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If `object` is not a member of this namespace\n */\nNamespace.prototype.remove = function remove(object) {\n\n if (!(object instanceof ReflectionObject))\n throw TypeError(\"object must be a ReflectionObject\");\n if (object.parent !== this)\n throw Error(object + \" is not a member of \" + this);\n\n delete this.nested[object.name];\n if (!Object.keys(this.nested).length)\n this.nested = undefined;\n\n object.onRemove(this);\n return clearCache(this);\n};\n\n/**\n * Defines additial namespaces within this one if not yet existing.\n * @param {string|string[]} path Path to create\n * @param {*} [json] Nested types to create from JSON\n * @returns {Namespace} Pointer to the last namespace created or `this` if path is empty\n */\nNamespace.prototype.define = function define(path, json) {\n\n if (util.isString(path))\n path = path.split(\".\");\n else if (!Array.isArray(path))\n throw TypeError(\"illegal path\");\n if (path && path.length && path[0] === \"\")\n throw Error(\"path must be relative\");\n\n var ptr = this;\n while (path.length > 0) {\n var part = path.shift();\n if (ptr.nested && ptr.nested[part]) {\n ptr = ptr.nested[part];\n if (!(ptr instanceof Namespace))\n throw Error(\"path conflicts with non-namespace objects\");\n } else\n ptr.add(ptr = new Namespace(part));\n }\n if (json)\n ptr.addJSON(json);\n return ptr;\n};\n\n/**\n * Resolves this namespace's and all its nested objects' type references. Useful to validate a reflection tree, but comes at a cost.\n * @returns {Namespace} `this`\n */\nNamespace.prototype.resolveAll = function resolveAll() {\n var nested = this.nestedArray, i = 0;\n while (i < nested.length)\n if (nested[i] instanceof Namespace)\n nested[i++].resolveAll();\n else\n nested[i++].resolve();\n return this.resolve();\n};\n\n/**\n * Recursively looks up the reflection object matching the specified path in the scope of this namespace.\n * @param {string|string[]} path Path to look up\n * @param {*|Array.<*>} filterTypes Filter types, any combination of the constructors of `protobuf.Type`, `protobuf.Enum`, `protobuf.Service` etc.\n * @param {boolean} [parentAlreadyChecked=false] If known, whether the parent has already been checked\n * @returns {ReflectionObject|null} Looked up object or `null` if none could be found\n */\nNamespace.prototype.lookup = function lookup(path, filterTypes, parentAlreadyChecked) {\n\n /* istanbul ignore next */\n if (typeof filterTypes === \"boolean\") {\n parentAlreadyChecked = filterTypes;\n filterTypes = undefined;\n } else if (filterTypes && !Array.isArray(filterTypes))\n filterTypes = [ filterTypes ];\n\n if (util.isString(path) && path.length) {\n if (path === \".\")\n return this.root;\n path = path.split(\".\");\n } else if (!path.length)\n return this;\n\n // Start at root if path is absolute\n if (path[0] === \"\")\n return this.root.lookup(path.slice(1), filterTypes);\n\n // Test if the first part matches any nested object, and if so, traverse if path contains more\n var found = this.get(path[0]);\n if (found) {\n if (path.length === 1) {\n if (!filterTypes || filterTypes.indexOf(found.constructor) > -1)\n return found;\n } else if (found instanceof Namespace && (found = found.lookup(path.slice(1), filterTypes, true)))\n return found;\n\n // Otherwise try each nested namespace\n } else\n for (var i = 0; i < this.nestedArray.length; ++i)\n if (this._nestedArray[i] instanceof Namespace && (found = this._nestedArray[i].lookup(path, filterTypes, true)))\n return found;\n\n // If there hasn't been a match, try again at the parent\n if (this.parent === null || parentAlreadyChecked)\n return null;\n return this.parent.lookup(path, filterTypes);\n};\n\n/**\n * Looks up the reflection object at the specified path, relative to this namespace.\n * @name NamespaceBase#lookup\n * @function\n * @param {string|string[]} path Path to look up\n * @param {boolean} [parentAlreadyChecked=false] Whether the parent has already been checked\n * @returns {ReflectionObject|null} Looked up object or `null` if none could be found\n * @variation 2\n */\n// lookup(path: string, [parentAlreadyChecked: boolean])\n\n/**\n * Looks up the {@link Type|type} at the specified path, relative to this namespace.\n * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.\n * @param {string|string[]} path Path to look up\n * @returns {Type} Looked up type\n * @throws {Error} If `path` does not point to a type\n */\nNamespace.prototype.lookupType = function lookupType(path) {\n var found = this.lookup(path, [ Type ]);\n if (!found)\n throw Error(\"no such type: \" + path);\n return found;\n};\n\n/**\n * Looks up the values of the {@link Enum|enum} at the specified path, relative to this namespace.\n * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.\n * @param {string|string[]} path Path to look up\n * @returns {Enum} Looked up enum\n * @throws {Error} If `path` does not point to an enum\n */\nNamespace.prototype.lookupEnum = function lookupEnum(path) {\n var found = this.lookup(path, [ Enum ]);\n if (!found)\n throw Error(\"no such Enum '\" + path + \"' in \" + this);\n return found;\n};\n\n/**\n * Looks up the {@link Type|type} or {@link Enum|enum} at the specified path, relative to this namespace.\n * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.\n * @param {string|string[]} path Path to look up\n * @returns {Type} Looked up type or enum\n * @throws {Error} If `path` does not point to a type or enum\n */\nNamespace.prototype.lookupTypeOrEnum = function lookupTypeOrEnum(path) {\n var found = this.lookup(path, [ Type, Enum ]);\n if (!found)\n throw Error(\"no such Type or Enum '\" + path + \"' in \" + this);\n return found;\n};\n\n/**\n * Looks up the {@link Service|service} at the specified path, relative to this namespace.\n * Besides its signature, this methods differs from {@link Namespace#lookup|lookup} in that it throws instead of returning `null`.\n * @param {string|string[]} path Path to look up\n * @returns {Service} Looked up service\n * @throws {Error} If `path` does not point to a service\n */\nNamespace.prototype.lookupService = function lookupService(path) {\n var found = this.lookup(path, [ Service ]);\n if (!found)\n throw Error(\"no such Service '\" + path + \"' in \" + this);\n return found;\n};\n\n// Sets up cyclic dependencies (called in index-light)\nNamespace._configure = function(Type_, Service_, Enum_) {\n Type = Type_;\n Service = Service_;\n Enum = Enum_;\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceKVM.vue?vue&type=style&index=0&id=080974aa&prod&scoped=true&lang=css&\"","\"use strict\";\nmodule.exports = Service;\n\nvar util = require(\"../util/minimal\");\n\n// Extends EventEmitter\n(Service.prototype = Object.create(util.EventEmitter.prototype)).constructor = Service;\n\n/**\n * A service method callback as used by {@link rpc.ServiceMethod|ServiceMethod}.\n *\n * Differs from {@link RPCImplCallback} in that it is an actual callback of a service method which may not return `response = null`.\n * @typedef rpc.ServiceMethodCallback\n * @template TRes extends Message\n * @type {function}\n * @param {Error|null} error Error, if any\n * @param {TRes} [response] Response message\n * @returns {undefined}\n */\n\n/**\n * A service method part of a {@link rpc.Service} as created by {@link Service.create}.\n * @typedef rpc.ServiceMethod\n * @template TReq extends Message\n * @template TRes extends Message\n * @type {function}\n * @param {TReq|Properties} request Request message or plain object\n * @param {rpc.ServiceMethodCallback} [callback] Node-style callback called with the error, if any, and the response message\n * @returns {Promise>} Promise if `callback` has been omitted, otherwise `undefined`\n */\n\n/**\n * Constructs a new RPC service instance.\n * @classdesc An RPC service as returned by {@link Service#create}.\n * @exports rpc.Service\n * @extends util.EventEmitter\n * @constructor\n * @param {RPCImpl} rpcImpl RPC implementation\n * @param {boolean} [requestDelimited=false] Whether requests are length-delimited\n * @param {boolean} [responseDelimited=false] Whether responses are length-delimited\n */\nfunction Service(rpcImpl, requestDelimited, responseDelimited) {\n\n if (typeof rpcImpl !== \"function\")\n throw TypeError(\"rpcImpl must be a function\");\n\n util.EventEmitter.call(this);\n\n /**\n * RPC implementation. Becomes `null` once the service is ended.\n * @type {RPCImpl|null}\n */\n this.rpcImpl = rpcImpl;\n\n /**\n * Whether requests are length-delimited.\n * @type {boolean}\n */\n this.requestDelimited = Boolean(requestDelimited);\n\n /**\n * Whether responses are length-delimited.\n * @type {boolean}\n */\n this.responseDelimited = Boolean(responseDelimited);\n}\n\n/**\n * Calls a service method through {@link rpc.Service#rpcImpl|rpcImpl}.\n * @param {Method|rpc.ServiceMethod} method Reflected or static method\n * @param {Constructor} requestCtor Request constructor\n * @param {Constructor} responseCtor Response constructor\n * @param {TReq|Properties} request Request message or plain object\n * @param {rpc.ServiceMethodCallback} callback Service callback\n * @returns {undefined}\n * @template TReq extends Message\n * @template TRes extends Message\n */\nService.prototype.rpcCall = function rpcCall(method, requestCtor, responseCtor, request, callback) {\n\n if (!request)\n throw TypeError(\"request must be specified\");\n\n var self = this;\n if (!callback)\n return util.asPromise(rpcCall, self, method, requestCtor, responseCtor, request);\n\n if (!self.rpcImpl) {\n setTimeout(function() { callback(Error(\"already ended\")); }, 0);\n return undefined;\n }\n\n try {\n return self.rpcImpl(\n method,\n requestCtor[self.requestDelimited ? \"encodeDelimited\" : \"encode\"](request).finish(),\n function rpcCallback(err, response) {\n\n if (err) {\n self.emit(\"error\", err, method);\n return callback(err);\n }\n\n if (response === null) {\n self.end(/* endedByRPC */ true);\n return undefined;\n }\n\n if (!(response instanceof responseCtor)) {\n try {\n response = responseCtor[self.responseDelimited ? \"decodeDelimited\" : \"decode\"](response);\n } catch (err) {\n self.emit(\"error\", err, method);\n return callback(err);\n }\n }\n\n self.emit(\"data\", response, method);\n return callback(null, response);\n }\n );\n } catch (err) {\n self.emit(\"error\", err, method);\n setTimeout(function() { callback(err); }, 0);\n return undefined;\n }\n};\n\n/**\n * Ends this service and emits the `end` event.\n * @param {boolean} [endedByRPC=false] Whether the service has been ended by the RPC implementation.\n * @returns {rpc.Service} `this`\n */\nService.prototype.end = function end(endedByRPC) {\n if (this.rpcImpl) {\n if (!endedByRPC) // signal end to rpcImpl\n this.rpcImpl(null, null, null);\n this.rpcImpl = null;\n this.emit(\"end\").off();\n }\n return this;\n};\n","\"use strict\";\nmodule.exports = MapField;\n\n// extends Field\nvar Field = require(\"./field\");\n((MapField.prototype = Object.create(Field.prototype)).constructor = MapField).className = \"MapField\";\n\nvar types = require(\"./types\"),\n util = require(\"./util\");\n\n/**\n * Constructs a new map field instance.\n * @classdesc Reflected map field.\n * @extends FieldBase\n * @constructor\n * @param {string} name Unique name within its namespace\n * @param {number} id Unique id within its namespace\n * @param {string} keyType Key type\n * @param {string} type Value type\n * @param {Object.} [options] Declared options\n * @param {string} [comment] Comment associated with this field\n */\nfunction MapField(name, id, keyType, type, options, comment) {\n Field.call(this, name, id, type, undefined, undefined, options, comment);\n\n /* istanbul ignore if */\n if (!util.isString(keyType))\n throw TypeError(\"keyType must be a string\");\n\n /**\n * Key type.\n * @type {string}\n */\n this.keyType = keyType; // toJSON, marker\n\n /**\n * Resolved key type if not a basic type.\n * @type {ReflectionObject|null}\n */\n this.resolvedKeyType = null;\n\n // Overrides Field#map\n this.map = true;\n}\n\n/**\n * Map field descriptor.\n * @interface IMapField\n * @extends {IField}\n * @property {string} keyType Key type\n */\n\n/**\n * Extension map field descriptor.\n * @interface IExtensionMapField\n * @extends IMapField\n * @property {string} extend Extended type\n */\n\n/**\n * Constructs a map field from a map field descriptor.\n * @param {string} name Field name\n * @param {IMapField} json Map field descriptor\n * @returns {MapField} Created map field\n * @throws {TypeError} If arguments are invalid\n */\nMapField.fromJSON = function fromJSON(name, json) {\n return new MapField(name, json.id, json.keyType, json.type, json.options, json.comment);\n};\n\n/**\n * Converts this map field to a map field descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IMapField} Map field descriptor\n */\nMapField.prototype.toJSON = function toJSON(toJSONOptions) {\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"keyType\" , this.keyType,\n \"type\" , this.type,\n \"id\" , this.id,\n \"extend\" , this.extend,\n \"options\" , this.options,\n \"comment\" , keepComments ? this.comment : undefined\n ]);\n};\n\n/**\n * @override\n */\nMapField.prototype.resolve = function resolve() {\n if (this.resolved)\n return this;\n\n // Besides a value type, map fields have a key type that may be \"any scalar type except for floating point types and bytes\"\n if (types.mapKey[this.keyType] === undefined)\n throw Error(\"invalid key type: \" + this.keyType);\n\n return Field.prototype.resolve.call(this);\n};\n\n/**\n * Map field decorator (TypeScript).\n * @name MapField.d\n * @function\n * @param {number} fieldId Field id\n * @param {\"int32\"|\"uint32\"|\"sint32\"|\"fixed32\"|\"sfixed32\"|\"int64\"|\"uint64\"|\"sint64\"|\"fixed64\"|\"sfixed64\"|\"bool\"|\"string\"} fieldKeyType Field key type\n * @param {\"double\"|\"float\"|\"int32\"|\"uint32\"|\"sint32\"|\"fixed32\"|\"sfixed32\"|\"int64\"|\"uint64\"|\"sint64\"|\"fixed64\"|\"sfixed64\"|\"bool\"|\"string\"|\"bytes\"|Object|Constructor<{}>} fieldValueType Field value type\n * @returns {FieldDecorator} Decorator function\n * @template T extends { [key: string]: number | Long | string | boolean | Uint8Array | Buffer | number[] | Message<{}> }\n */\nMapField.d = function decorateMapField(fieldId, fieldKeyType, fieldValueType) {\n\n // submessage value: decorate the submessage and use its name as the type\n if (typeof fieldValueType === \"function\")\n fieldValueType = util.decorateType(fieldValueType).name;\n\n // enum reference value: create a reflected copy of the enum and keep reuseing it\n else if (fieldValueType && typeof fieldValueType === \"object\")\n fieldValueType = util.decorateEnum(fieldValueType).name;\n\n return function mapFieldDecorator(prototype, fieldName) {\n util.decorateType(prototype.constructor)\n .add(new MapField(fieldName, fieldId, fieldKeyType, fieldValueType));\n };\n};\n","\"use strict\";\n\n/**\n * Common type constants.\n * @namespace\n */\nvar types = exports;\n\nvar util = require(\"./util\");\n\nvar s = [\n \"double\", // 0\n \"float\", // 1\n \"int32\", // 2\n \"uint32\", // 3\n \"sint32\", // 4\n \"fixed32\", // 5\n \"sfixed32\", // 6\n \"int64\", // 7\n \"uint64\", // 8\n \"sint64\", // 9\n \"fixed64\", // 10\n \"sfixed64\", // 11\n \"bool\", // 12\n \"string\", // 13\n \"bytes\" // 14\n];\n\nfunction bake(values, offset) {\n var i = 0, o = {};\n offset |= 0;\n while (i < values.length) o[s[i + offset]] = values[i++];\n return o;\n}\n\n/**\n * Basic type wire types.\n * @type {Object.}\n * @const\n * @property {number} double=1 Fixed64 wire type\n * @property {number} float=5 Fixed32 wire type\n * @property {number} int32=0 Varint wire type\n * @property {number} uint32=0 Varint wire type\n * @property {number} sint32=0 Varint wire type\n * @property {number} fixed32=5 Fixed32 wire type\n * @property {number} sfixed32=5 Fixed32 wire type\n * @property {number} int64=0 Varint wire type\n * @property {number} uint64=0 Varint wire type\n * @property {number} sint64=0 Varint wire type\n * @property {number} fixed64=1 Fixed64 wire type\n * @property {number} sfixed64=1 Fixed64 wire type\n * @property {number} bool=0 Varint wire type\n * @property {number} string=2 Ldelim wire type\n * @property {number} bytes=2 Ldelim wire type\n */\ntypes.basic = bake([\n /* double */ 1,\n /* float */ 5,\n /* int32 */ 0,\n /* uint32 */ 0,\n /* sint32 */ 0,\n /* fixed32 */ 5,\n /* sfixed32 */ 5,\n /* int64 */ 0,\n /* uint64 */ 0,\n /* sint64 */ 0,\n /* fixed64 */ 1,\n /* sfixed64 */ 1,\n /* bool */ 0,\n /* string */ 2,\n /* bytes */ 2\n]);\n\n/**\n * Basic type defaults.\n * @type {Object.}\n * @const\n * @property {number} double=0 Double default\n * @property {number} float=0 Float default\n * @property {number} int32=0 Int32 default\n * @property {number} uint32=0 Uint32 default\n * @property {number} sint32=0 Sint32 default\n * @property {number} fixed32=0 Fixed32 default\n * @property {number} sfixed32=0 Sfixed32 default\n * @property {number} int64=0 Int64 default\n * @property {number} uint64=0 Uint64 default\n * @property {number} sint64=0 Sint32 default\n * @property {number} fixed64=0 Fixed64 default\n * @property {number} sfixed64=0 Sfixed64 default\n * @property {boolean} bool=false Bool default\n * @property {string} string=\"\" String default\n * @property {Array.} bytes=Array(0) Bytes default\n * @property {null} message=null Message default\n */\ntypes.defaults = bake([\n /* double */ 0,\n /* float */ 0,\n /* int32 */ 0,\n /* uint32 */ 0,\n /* sint32 */ 0,\n /* fixed32 */ 0,\n /* sfixed32 */ 0,\n /* int64 */ 0,\n /* uint64 */ 0,\n /* sint64 */ 0,\n /* fixed64 */ 0,\n /* sfixed64 */ 0,\n /* bool */ false,\n /* string */ \"\",\n /* bytes */ util.emptyArray,\n /* message */ null\n]);\n\n/**\n * Basic long type wire types.\n * @type {Object.}\n * @const\n * @property {number} int64=0 Varint wire type\n * @property {number} uint64=0 Varint wire type\n * @property {number} sint64=0 Varint wire type\n * @property {number} fixed64=1 Fixed64 wire type\n * @property {number} sfixed64=1 Fixed64 wire type\n */\ntypes.long = bake([\n /* int64 */ 0,\n /* uint64 */ 0,\n /* sint64 */ 0,\n /* fixed64 */ 1,\n /* sfixed64 */ 1\n], 7);\n\n/**\n * Allowed types for map keys with their associated wire type.\n * @type {Object.}\n * @const\n * @property {number} int32=0 Varint wire type\n * @property {number} uint32=0 Varint wire type\n * @property {number} sint32=0 Varint wire type\n * @property {number} fixed32=5 Fixed32 wire type\n * @property {number} sfixed32=5 Fixed32 wire type\n * @property {number} int64=0 Varint wire type\n * @property {number} uint64=0 Varint wire type\n * @property {number} sint64=0 Varint wire type\n * @property {number} fixed64=1 Fixed64 wire type\n * @property {number} sfixed64=1 Fixed64 wire type\n * @property {number} bool=0 Varint wire type\n * @property {number} string=2 Ldelim wire type\n */\ntypes.mapKey = bake([\n /* int32 */ 0,\n /* uint32 */ 0,\n /* sint32 */ 0,\n /* fixed32 */ 5,\n /* sfixed32 */ 5,\n /* int64 */ 0,\n /* uint64 */ 0,\n /* sint64 */ 0,\n /* fixed64 */ 1,\n /* sfixed64 */ 1,\n /* bool */ 0,\n /* string */ 2\n], 2);\n\n/**\n * Allowed types for packed repeated fields with their associated wire type.\n * @type {Object.}\n * @const\n * @property {number} double=1 Fixed64 wire type\n * @property {number} float=5 Fixed32 wire type\n * @property {number} int32=0 Varint wire type\n * @property {number} uint32=0 Varint wire type\n * @property {number} sint32=0 Varint wire type\n * @property {number} fixed32=5 Fixed32 wire type\n * @property {number} sfixed32=5 Fixed32 wire type\n * @property {number} int64=0 Varint wire type\n * @property {number} uint64=0 Varint wire type\n * @property {number} sint64=0 Varint wire type\n * @property {number} fixed64=1 Fixed64 wire type\n * @property {number} sfixed64=1 Fixed64 wire type\n * @property {number} bool=0 Varint wire type\n */\ntypes.packed = bake([\n /* double */ 1,\n /* float */ 5,\n /* int32 */ 0,\n /* uint32 */ 0,\n /* sint32 */ 0,\n /* fixed32 */ 5,\n /* sfixed32 */ 5,\n /* int64 */ 0,\n /* uint64 */ 0,\n /* sint64 */ 0,\n /* fixed64 */ 1,\n /* sfixed64 */ 1,\n /* bool */ 0\n]);\n","\"use strict\";\nmodule.exports = ReflectionObject;\n\nReflectionObject.className = \"ReflectionObject\";\n\nvar util = require(\"./util\");\n\nvar Root; // cyclic\n\n/**\n * Constructs a new reflection object instance.\n * @classdesc Base class of all reflection objects.\n * @constructor\n * @param {string} name Object name\n * @param {Object.} [options] Declared options\n * @abstract\n */\nfunction ReflectionObject(name, options) {\n\n if (!util.isString(name))\n throw TypeError(\"name must be a string\");\n\n if (options && !util.isObject(options))\n throw TypeError(\"options must be an object\");\n\n /**\n * Options.\n * @type {Object.|undefined}\n */\n this.options = options; // toJSON\n\n /**\n * Parsed Options.\n * @type {Array.>|undefined}\n */\n this.parsedOptions = null;\n\n /**\n * Unique name within its namespace.\n * @type {string}\n */\n this.name = name;\n\n /**\n * Parent namespace.\n * @type {Namespace|null}\n */\n this.parent = null;\n\n /**\n * Whether already resolved or not.\n * @type {boolean}\n */\n this.resolved = false;\n\n /**\n * Comment text, if any.\n * @type {string|null}\n */\n this.comment = null;\n\n /**\n * Defining file name.\n * @type {string|null}\n */\n this.filename = null;\n}\n\nObject.defineProperties(ReflectionObject.prototype, {\n\n /**\n * Reference to the root namespace.\n * @name ReflectionObject#root\n * @type {Root}\n * @readonly\n */\n root: {\n get: function() {\n var ptr = this;\n while (ptr.parent !== null)\n ptr = ptr.parent;\n return ptr;\n }\n },\n\n /**\n * Full name including leading dot.\n * @name ReflectionObject#fullName\n * @type {string}\n * @readonly\n */\n fullName: {\n get: function() {\n var path = [ this.name ],\n ptr = this.parent;\n while (ptr) {\n path.unshift(ptr.name);\n ptr = ptr.parent;\n }\n return path.join(\".\");\n }\n }\n});\n\n/**\n * Converts this reflection object to its descriptor representation.\n * @returns {Object.} Descriptor\n * @abstract\n */\nReflectionObject.prototype.toJSON = /* istanbul ignore next */ function toJSON() {\n throw Error(); // not implemented, shouldn't happen\n};\n\n/**\n * Called when this object is added to a parent.\n * @param {ReflectionObject} parent Parent added to\n * @returns {undefined}\n */\nReflectionObject.prototype.onAdd = function onAdd(parent) {\n if (this.parent && this.parent !== parent)\n this.parent.remove(this);\n this.parent = parent;\n this.resolved = false;\n var root = parent.root;\n if (root instanceof Root)\n root._handleAdd(this);\n};\n\n/**\n * Called when this object is removed from a parent.\n * @param {ReflectionObject} parent Parent removed from\n * @returns {undefined}\n */\nReflectionObject.prototype.onRemove = function onRemove(parent) {\n var root = parent.root;\n if (root instanceof Root)\n root._handleRemove(this);\n this.parent = null;\n this.resolved = false;\n};\n\n/**\n * Resolves this objects type references.\n * @returns {ReflectionObject} `this`\n */\nReflectionObject.prototype.resolve = function resolve() {\n if (this.resolved)\n return this;\n if (this.root instanceof Root)\n this.resolved = true; // only if part of a root\n return this;\n};\n\n/**\n * Gets an option value.\n * @param {string} name Option name\n * @returns {*} Option value or `undefined` if not set\n */\nReflectionObject.prototype.getOption = function getOption(name) {\n if (this.options)\n return this.options[name];\n return undefined;\n};\n\n/**\n * Sets an option.\n * @param {string} name Option name\n * @param {*} value Option value\n * @param {boolean} [ifNotSet] Sets the option only if it isn't currently set\n * @returns {ReflectionObject} `this`\n */\nReflectionObject.prototype.setOption = function setOption(name, value, ifNotSet) {\n if (!ifNotSet || !this.options || this.options[name] === undefined)\n (this.options || (this.options = {}))[name] = value;\n return this;\n};\n\n/**\n * Sets a parsed option.\n * @param {string} name parsed Option name\n * @param {*} value Option value\n * @param {string} propName dot '.' delimited full path of property within the option to set. if undefined\\empty, will add a new option with that value\n * @returns {ReflectionObject} `this`\n */\nReflectionObject.prototype.setParsedOption = function setParsedOption(name, value, propName) {\n if (!this.parsedOptions) {\n this.parsedOptions = [];\n }\n var parsedOptions = this.parsedOptions;\n if (propName) {\n // If setting a sub property of an option then try to merge it\n // with an existing option\n var opt = parsedOptions.find(function (opt) {\n return Object.prototype.hasOwnProperty.call(opt, name);\n });\n if (opt) {\n // If we found an existing option - just merge the property value\n var newValue = opt[name];\n util.setProperty(newValue, propName, value);\n } else {\n // otherwise, create a new option, set it's property and add it to the list\n opt = {};\n opt[name] = util.setProperty({}, propName, value);\n parsedOptions.push(opt);\n }\n } else {\n // Always create a new option when setting the value of the option itself\n var newOpt = {};\n newOpt[name] = value;\n parsedOptions.push(newOpt);\n }\n return this;\n};\n\n/**\n * Sets multiple options.\n * @param {Object.} options Options to set\n * @param {boolean} [ifNotSet] Sets an option only if it isn't currently set\n * @returns {ReflectionObject} `this`\n */\nReflectionObject.prototype.setOptions = function setOptions(options, ifNotSet) {\n if (options)\n for (var keys = Object.keys(options), i = 0; i < keys.length; ++i)\n this.setOption(keys[i], options[keys[i]], ifNotSet);\n return this;\n};\n\n/**\n * Converts this instance to its string representation.\n * @returns {string} Class name[, space, full name]\n */\nReflectionObject.prototype.toString = function toString() {\n var className = this.constructor.className,\n fullName = this.fullName;\n if (fullName.length)\n return className + \" \" + fullName;\n return className;\n};\n\n// Sets up cyclic dependencies (called in index-light)\nReflectionObject._configure = function(Root_) {\n Root = Root_;\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DevicesOperatingSystem.vue?vue&type=style&index=0&id=8c895c48&prod&scoped=true&lang=css&\"","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.at` method\n// https://github.com/tc39/proposal-relative-indexing-method\nexportTypedArrayMethod('at', function at(index) {\n var O = aTypedArray(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : O[k];\n});\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceSecurityFeatures.vue?vue&type=style&index=0&id=40dbb314&prod&scoped=true&lang=css&\"","\"use strict\";\nmodule.exports = BufferReader;\n\n// extends Reader\nvar Reader = require(\"./reader\");\n(BufferReader.prototype = Object.create(Reader.prototype)).constructor = BufferReader;\n\nvar util = require(\"./util/minimal\");\n\n/**\n * Constructs a new buffer reader instance.\n * @classdesc Wire format reader using node buffers.\n * @extends Reader\n * @constructor\n * @param {Buffer} buffer Buffer to read from\n */\nfunction BufferReader(buffer) {\n Reader.call(this, buffer);\n\n /**\n * Read buffer.\n * @name BufferReader#buf\n * @type {Buffer}\n */\n}\n\nBufferReader._configure = function () {\n /* istanbul ignore else */\n if (util.Buffer)\n BufferReader.prototype._slice = util.Buffer.prototype.slice;\n};\n\n\n/**\n * @override\n */\nBufferReader.prototype.string = function read_string_buffer() {\n var len = this.uint32(); // modifies pos\n return this.buf.utf8Slice\n ? this.buf.utf8Slice(this.pos, this.pos = Math.min(this.pos + len, this.len))\n : this.buf.toString(\"utf-8\", this.pos, this.pos = Math.min(this.pos + len, this.len));\n};\n\n/**\n * Reads a sequence of bytes preceeded by its length as a varint.\n * @name BufferReader#bytes\n * @function\n * @returns {Buffer} Value read\n */\n\nBufferReader._configure();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceNetworkInterfaces.vue?vue&type=style&index=0&id=c277a056&prod&scoped=true&lang=css&\"","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findLast = require('../internals/array-iteration-from-last').findLast;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findLast` method\n// https://github.com/tc39/proposal-array-find-from-last\nexportTypedArrayMethod('findLast', function findLast(predicate /* , thisArg */) {\n return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceUsers.vue?vue&type=style&index=0&id=7717285c&prod&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceSoftware.vue?vue&type=style&index=0&id=3619e86a&prod&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceFileVault.vue?vue&type=style&index=1&id=79d3f2da&prod&lang=css&\"","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ findLast, findLastIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_FIND_LAST_INDEX = TYPE == 1;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var index = lengthOfArrayLike(self);\n var value, result;\n while (index-- > 0) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (result) switch (TYPE) {\n case 0: return value; // findLast\n case 1: return index; // findLastIndex\n }\n }\n return IS_FIND_LAST_INDEX ? -1 : undefined;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.findLast` method\n // https://github.com/tc39/proposal-array-find-from-last\n findLast: createMethod(0),\n // `Array.prototype.findLastIndex` method\n // https://github.com/tc39/proposal-array-find-from-last\n findLastIndex: createMethod(1)\n};\n","\"use strict\";\nmodule.exports = LongBits;\n\nvar util = require(\"../util/minimal\");\n\n/**\n * Constructs new long bits.\n * @classdesc Helper class for working with the low and high bits of a 64 bit value.\n * @memberof util\n * @constructor\n * @param {number} lo Low 32 bits, unsigned\n * @param {number} hi High 32 bits, unsigned\n */\nfunction LongBits(lo, hi) {\n\n // note that the casts below are theoretically unnecessary as of today, but older statically\n // generated converter code might still call the ctor with signed 32bits. kept for compat.\n\n /**\n * Low bits.\n * @type {number}\n */\n this.lo = lo >>> 0;\n\n /**\n * High bits.\n * @type {number}\n */\n this.hi = hi >>> 0;\n}\n\n/**\n * Zero bits.\n * @memberof util.LongBits\n * @type {util.LongBits}\n */\nvar zero = LongBits.zero = new LongBits(0, 0);\n\nzero.toNumber = function() { return 0; };\nzero.zzEncode = zero.zzDecode = function() { return this; };\nzero.length = function() { return 1; };\n\n/**\n * Zero hash.\n * @memberof util.LongBits\n * @type {string}\n */\nvar zeroHash = LongBits.zeroHash = \"\\0\\0\\0\\0\\0\\0\\0\\0\";\n\n/**\n * Constructs new long bits from the specified number.\n * @param {number} value Value\n * @returns {util.LongBits} Instance\n */\nLongBits.fromNumber = function fromNumber(value) {\n if (value === 0)\n return zero;\n var sign = value < 0;\n if (sign)\n value = -value;\n var lo = value >>> 0,\n hi = (value - lo) / 4294967296 >>> 0;\n if (sign) {\n hi = ~hi >>> 0;\n lo = ~lo >>> 0;\n if (++lo > 4294967295) {\n lo = 0;\n if (++hi > 4294967295)\n hi = 0;\n }\n }\n return new LongBits(lo, hi);\n};\n\n/**\n * Constructs new long bits from a number, long or string.\n * @param {Long|number|string} value Value\n * @returns {util.LongBits} Instance\n */\nLongBits.from = function from(value) {\n if (typeof value === \"number\")\n return LongBits.fromNumber(value);\n if (util.isString(value)) {\n /* istanbul ignore else */\n if (util.Long)\n value = util.Long.fromString(value);\n else\n return LongBits.fromNumber(parseInt(value, 10));\n }\n return value.low || value.high ? new LongBits(value.low >>> 0, value.high >>> 0) : zero;\n};\n\n/**\n * Converts this long bits to a possibly unsafe JavaScript number.\n * @param {boolean} [unsigned=false] Whether unsigned or not\n * @returns {number} Possibly unsafe number\n */\nLongBits.prototype.toNumber = function toNumber(unsigned) {\n if (!unsigned && this.hi >>> 31) {\n var lo = ~this.lo + 1 >>> 0,\n hi = ~this.hi >>> 0;\n if (!lo)\n hi = hi + 1 >>> 0;\n return -(lo + hi * 4294967296);\n }\n return this.lo + this.hi * 4294967296;\n};\n\n/**\n * Converts this long bits to a long.\n * @param {boolean} [unsigned=false] Whether unsigned or not\n * @returns {Long} Long\n */\nLongBits.prototype.toLong = function toLong(unsigned) {\n return util.Long\n ? new util.Long(this.lo | 0, this.hi | 0, Boolean(unsigned))\n /* istanbul ignore next */\n : { low: this.lo | 0, high: this.hi | 0, unsigned: Boolean(unsigned) };\n};\n\nvar charCodeAt = String.prototype.charCodeAt;\n\n/**\n * Constructs new long bits from the specified 8 characters long hash.\n * @param {string} hash Hash\n * @returns {util.LongBits} Bits\n */\nLongBits.fromHash = function fromHash(hash) {\n if (hash === zeroHash)\n return zero;\n return new LongBits(\n ( charCodeAt.call(hash, 0)\n | charCodeAt.call(hash, 1) << 8\n | charCodeAt.call(hash, 2) << 16\n | charCodeAt.call(hash, 3) << 24) >>> 0\n ,\n ( charCodeAt.call(hash, 4)\n | charCodeAt.call(hash, 5) << 8\n | charCodeAt.call(hash, 6) << 16\n | charCodeAt.call(hash, 7) << 24) >>> 0\n );\n};\n\n/**\n * Converts this long bits to a 8 characters long hash.\n * @returns {string} Hash\n */\nLongBits.prototype.toHash = function toHash() {\n return String.fromCharCode(\n this.lo & 255,\n this.lo >>> 8 & 255,\n this.lo >>> 16 & 255,\n this.lo >>> 24 ,\n this.hi & 255,\n this.hi >>> 8 & 255,\n this.hi >>> 16 & 255,\n this.hi >>> 24\n );\n};\n\n/**\n * Zig-zag encodes this long bits.\n * @returns {util.LongBits} `this`\n */\nLongBits.prototype.zzEncode = function zzEncode() {\n var mask = this.hi >> 31;\n this.hi = ((this.hi << 1 | this.lo >>> 31) ^ mask) >>> 0;\n this.lo = ( this.lo << 1 ^ mask) >>> 0;\n return this;\n};\n\n/**\n * Zig-zag decodes this long bits.\n * @returns {util.LongBits} `this`\n */\nLongBits.prototype.zzDecode = function zzDecode() {\n var mask = -(this.lo & 1);\n this.lo = ((this.lo >>> 1 | this.hi << 31) ^ mask) >>> 0;\n this.hi = ( this.hi >>> 1 ^ mask) >>> 0;\n return this;\n};\n\n/**\n * Calculates the length of this longbits when encoded as a varint.\n * @returns {number} Length\n */\nLongBits.prototype.length = function length() {\n var part0 = this.lo,\n part1 = (this.lo >>> 28 | this.hi << 4) >>> 0,\n part2 = this.hi >>> 24;\n return part2 === 0\n ? part1 === 0\n ? part0 < 16384\n ? part0 < 128 ? 1 : 2\n : part0 < 2097152 ? 3 : 4\n : part1 < 16384\n ? part1 < 128 ? 5 : 6\n : part1 < 2097152 ? 7 : 8\n : part2 < 128 ? 9 : 10;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","\"use strict\";\nmodule.exports = Field;\n\n// extends ReflectionObject\nvar ReflectionObject = require(\"./object\");\n((Field.prototype = Object.create(ReflectionObject.prototype)).constructor = Field).className = \"Field\";\n\nvar Enum = require(\"./enum\"),\n types = require(\"./types\"),\n util = require(\"./util\");\n\nvar Type; // cyclic\n\nvar ruleRe = /^required|optional|repeated$/;\n\n/**\n * Constructs a new message field instance. Note that {@link MapField|map fields} have their own class.\n * @name Field\n * @classdesc Reflected message field.\n * @extends FieldBase\n * @constructor\n * @param {string} name Unique name within its namespace\n * @param {number} id Unique id within its namespace\n * @param {string} type Value type\n * @param {string|Object.} [rule=\"optional\"] Field rule\n * @param {string|Object.} [extend] Extended type if different from parent\n * @param {Object.} [options] Declared options\n */\n\n/**\n * Constructs a field from a field descriptor.\n * @param {string} name Field name\n * @param {IField} json Field descriptor\n * @returns {Field} Created field\n * @throws {TypeError} If arguments are invalid\n */\nField.fromJSON = function fromJSON(name, json) {\n return new Field(name, json.id, json.type, json.rule, json.extend, json.options, json.comment);\n};\n\n/**\n * Not an actual constructor. Use {@link Field} instead.\n * @classdesc Base class of all reflected message fields. This is not an actual class but here for the sake of having consistent type definitions.\n * @exports FieldBase\n * @extends ReflectionObject\n * @constructor\n * @param {string} name Unique name within its namespace\n * @param {number} id Unique id within its namespace\n * @param {string} type Value type\n * @param {string|Object.} [rule=\"optional\"] Field rule\n * @param {string|Object.} [extend] Extended type if different from parent\n * @param {Object.} [options] Declared options\n * @param {string} [comment] Comment associated with this field\n */\nfunction Field(name, id, type, rule, extend, options, comment) {\n\n if (util.isObject(rule)) {\n comment = extend;\n options = rule;\n rule = extend = undefined;\n } else if (util.isObject(extend)) {\n comment = options;\n options = extend;\n extend = undefined;\n }\n\n ReflectionObject.call(this, name, options);\n\n if (!util.isInteger(id) || id < 0)\n throw TypeError(\"id must be a non-negative integer\");\n\n if (!util.isString(type))\n throw TypeError(\"type must be a string\");\n\n if (rule !== undefined && !ruleRe.test(rule = rule.toString().toLowerCase()))\n throw TypeError(\"rule must be a string rule\");\n\n if (extend !== undefined && !util.isString(extend))\n throw TypeError(\"extend must be a string\");\n\n if (rule === \"proto3_optional\") {\n rule = \"optional\";\n }\n /**\n * Field rule, if any.\n * @type {string|undefined}\n */\n this.rule = rule && rule !== \"optional\" ? rule : undefined; // toJSON\n\n /**\n * Field type.\n * @type {string}\n */\n this.type = type; // toJSON\n\n /**\n * Unique field id.\n * @type {number}\n */\n this.id = id; // toJSON, marker\n\n /**\n * Extended type if different from parent.\n * @type {string|undefined}\n */\n this.extend = extend || undefined; // toJSON\n\n /**\n * Whether this field is required.\n * @type {boolean}\n */\n this.required = rule === \"required\";\n\n /**\n * Whether this field is optional.\n * @type {boolean}\n */\n this.optional = !this.required;\n\n /**\n * Whether this field is repeated.\n * @type {boolean}\n */\n this.repeated = rule === \"repeated\";\n\n /**\n * Whether this field is a map or not.\n * @type {boolean}\n */\n this.map = false;\n\n /**\n * Message this field belongs to.\n * @type {Type|null}\n */\n this.message = null;\n\n /**\n * OneOf this field belongs to, if any,\n * @type {OneOf|null}\n */\n this.partOf = null;\n\n /**\n * The field type's default value.\n * @type {*}\n */\n this.typeDefault = null;\n\n /**\n * The field's default value on prototypes.\n * @type {*}\n */\n this.defaultValue = null;\n\n /**\n * Whether this field's value should be treated as a long.\n * @type {boolean}\n */\n this.long = util.Long ? types.long[type] !== undefined : /* istanbul ignore next */ false;\n\n /**\n * Whether this field's value is a buffer.\n * @type {boolean}\n */\n this.bytes = type === \"bytes\";\n\n /**\n * Resolved type if not a basic type.\n * @type {Type|Enum|null}\n */\n this.resolvedType = null;\n\n /**\n * Sister-field within the extended type if a declaring extension field.\n * @type {Field|null}\n */\n this.extensionField = null;\n\n /**\n * Sister-field within the declaring namespace if an extended field.\n * @type {Field|null}\n */\n this.declaringField = null;\n\n /**\n * Internally remembers whether this field is packed.\n * @type {boolean|null}\n * @private\n */\n this._packed = null;\n\n /**\n * Comment for this field.\n * @type {string|null}\n */\n this.comment = comment;\n}\n\n/**\n * Determines whether this field is packed. Only relevant when repeated and working with proto2.\n * @name Field#packed\n * @type {boolean}\n * @readonly\n */\nObject.defineProperty(Field.prototype, \"packed\", {\n get: function() {\n // defaults to packed=true if not explicity set to false\n if (this._packed === null)\n this._packed = this.getOption(\"packed\") !== false;\n return this._packed;\n }\n});\n\n/**\n * @override\n */\nField.prototype.setOption = function setOption(name, value, ifNotSet) {\n if (name === \"packed\") // clear cached before setting\n this._packed = null;\n return ReflectionObject.prototype.setOption.call(this, name, value, ifNotSet);\n};\n\n/**\n * Field descriptor.\n * @interface IField\n * @property {string} [rule=\"optional\"] Field rule\n * @property {string} type Field type\n * @property {number} id Field id\n * @property {Object.} [options] Field options\n */\n\n/**\n * Extension field descriptor.\n * @interface IExtensionField\n * @extends IField\n * @property {string} extend Extended type\n */\n\n/**\n * Converts this field to a field descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IField} Field descriptor\n */\nField.prototype.toJSON = function toJSON(toJSONOptions) {\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"rule\" , this.rule !== \"optional\" && this.rule || undefined,\n \"type\" , this.type,\n \"id\" , this.id,\n \"extend\" , this.extend,\n \"options\" , this.options,\n \"comment\" , keepComments ? this.comment : undefined\n ]);\n};\n\n/**\n * Resolves this field's type references.\n * @returns {Field} `this`\n * @throws {Error} If any reference cannot be resolved\n */\nField.prototype.resolve = function resolve() {\n\n if (this.resolved)\n return this;\n\n if ((this.typeDefault = types.defaults[this.type]) === undefined) { // if not a basic type, resolve it\n this.resolvedType = (this.declaringField ? this.declaringField.parent : this.parent).lookupTypeOrEnum(this.type);\n if (this.resolvedType instanceof Type)\n this.typeDefault = null;\n else // instanceof Enum\n this.typeDefault = this.resolvedType.values[Object.keys(this.resolvedType.values)[0]]; // first defined\n }\n\n // use explicitly set default value if present\n if (this.options && this.options[\"default\"] != null) {\n this.typeDefault = this.options[\"default\"];\n if (this.resolvedType instanceof Enum && typeof this.typeDefault === \"string\")\n this.typeDefault = this.resolvedType.values[this.typeDefault];\n }\n\n // remove unnecessary options\n if (this.options) {\n if (this.options.packed === true || this.options.packed !== undefined && this.resolvedType && !(this.resolvedType instanceof Enum))\n delete this.options.packed;\n if (!Object.keys(this.options).length)\n this.options = undefined;\n }\n\n // convert to internal data type if necesssary\n if (this.long) {\n this.typeDefault = util.Long.fromNumber(this.typeDefault, this.type.charAt(0) === \"u\");\n\n /* istanbul ignore else */\n if (Object.freeze)\n Object.freeze(this.typeDefault); // long instances are meant to be immutable anyway (i.e. use small int cache that even requires it)\n\n } else if (this.bytes && typeof this.typeDefault === \"string\") {\n var buf;\n if (util.base64.test(this.typeDefault))\n util.base64.decode(this.typeDefault, buf = util.newBuffer(util.base64.length(this.typeDefault)), 0);\n else\n util.utf8.write(this.typeDefault, buf = util.newBuffer(util.utf8.length(this.typeDefault)), 0);\n this.typeDefault = buf;\n }\n\n // take special care of maps and repeated fields\n if (this.map)\n this.defaultValue = util.emptyObject;\n else if (this.repeated)\n this.defaultValue = util.emptyArray;\n else\n this.defaultValue = this.typeDefault;\n\n // ensure proper value on prototype\n if (this.parent instanceof Type)\n this.parent.ctor.prototype[this.name] = this.defaultValue;\n\n return ReflectionObject.prototype.resolve.call(this);\n};\n\n/**\n * Decorator function as returned by {@link Field.d} and {@link MapField.d} (TypeScript).\n * @typedef FieldDecorator\n * @type {function}\n * @param {Object} prototype Target prototype\n * @param {string} fieldName Field name\n * @returns {undefined}\n */\n\n/**\n * Field decorator (TypeScript).\n * @name Field.d\n * @function\n * @param {number} fieldId Field id\n * @param {\"double\"|\"float\"|\"int32\"|\"uint32\"|\"sint32\"|\"fixed32\"|\"sfixed32\"|\"int64\"|\"uint64\"|\"sint64\"|\"fixed64\"|\"sfixed64\"|\"string\"|\"bool\"|\"bytes\"|Object} fieldType Field type\n * @param {\"optional\"|\"required\"|\"repeated\"} [fieldRule=\"optional\"] Field rule\n * @param {T} [defaultValue] Default value\n * @returns {FieldDecorator} Decorator function\n * @template T extends number | number[] | Long | Long[] | string | string[] | boolean | boolean[] | Uint8Array | Uint8Array[] | Buffer | Buffer[]\n */\nField.d = function decorateField(fieldId, fieldType, fieldRule, defaultValue) {\n\n // submessage: decorate the submessage and use its name as the type\n if (typeof fieldType === \"function\")\n fieldType = util.decorateType(fieldType).name;\n\n // enum reference: create a reflected copy of the enum and keep reuseing it\n else if (fieldType && typeof fieldType === \"object\")\n fieldType = util.decorateEnum(fieldType).name;\n\n return function fieldDecorator(prototype, fieldName) {\n util.decorateType(prototype.constructor)\n .add(new Field(fieldName, fieldId, fieldType, fieldRule, { \"default\": defaultValue }));\n };\n};\n\n/**\n * Field decorator (TypeScript).\n * @name Field.d\n * @function\n * @param {number} fieldId Field id\n * @param {Constructor|string} fieldType Field type\n * @param {\"optional\"|\"required\"|\"repeated\"} [fieldRule=\"optional\"] Field rule\n * @returns {FieldDecorator} Decorator function\n * @template T extends Message\n * @variation 2\n */\n// like Field.d but without a default value\n\n// Sets up cyclic dependencies (called in index-light)\nField._configure = function configure(Type_) {\n Type = Type_;\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceMaintenanceActions.vue?vue&type=style&index=0&id=12c5534b&prod&scoped=true&lang=css&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.isFromModal)?_c('p',{staticClass:\"subtitle\"},[_c('b',[_vm._v(_vm._s(_vm.title))])]):_c('p',[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_c('p',[_vm._v(\"This action will lock the device and prevent it from being used until unlocked.\")])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LockDeviceParameters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LockDeviceParameters.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LockDeviceParameters.vue?vue&type=template&id=11e483da&\"\nimport script from \"./LockDeviceParameters.vue?vue&type=script&lang=js&\"\nexport * from \"./LockDeviceParameters.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","'use strict';\r\n\r\n// Last time updated: 2021-03-09 3:20:22 AM UTC\r\n\r\n// ________________\r\n// RecordRTC v5.6.2\r\n\r\n// Open-Sourced: https://github.com/muaz-khan/RecordRTC\r\n\r\n// --------------------------------------------------\r\n// Muaz Khan - www.MuazKhan.com\r\n// MIT License - www.WebRTC-Experiment.com/licence\r\n// --------------------------------------------------\r\n\r\n// ____________\r\n// RecordRTC.js\r\n\r\n/**\r\n * {@link https://github.com/muaz-khan/RecordRTC|RecordRTC} is a WebRTC JavaScript library for audio/video as well as screen activity recording. It supports Chrome, Firefox, Opera, Android, and Microsoft Edge. Platforms: Linux, Mac and Windows. \r\n * @summary Record audio, video or screen inside the browser.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef RecordRTC\r\n * @class\r\n * @example\r\n * var recorder = RecordRTC(mediaStream or [arrayOfMediaStream], {\r\n * type: 'video', // audio or video or gif or canvas\r\n * recorderType: MediaStreamRecorder || CanvasRecorder || StereoAudioRecorder || Etc\r\n * });\r\n * recorder.startRecording();\r\n * @see For further information:\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - Single media-stream object, array of media-streams, html-canvas-element, etc.\r\n * @param {object} config - {type:\"video\", recorderType: MediaStreamRecorder, disableLogs: true, numberOfAudioChannels: 1, bufferSize: 0, sampleRate: 0, desiredSampRate: 16000, video: HTMLVideoElement, etc.}\r\n */\r\n\r\nfunction RecordRTC(mediaStream, config) {\r\n if (!mediaStream) {\r\n throw 'First parameter is required.';\r\n }\r\n\r\n config = config || {\r\n type: 'video'\r\n };\r\n\r\n config = new RecordRTCConfiguration(mediaStream, config);\r\n\r\n // a reference to user's recordRTC object\r\n var self = this;\r\n\r\n function startRecording(config2) {\r\n if (!config.disableLogs) {\r\n console.log('RecordRTC version: ', self.version);\r\n }\r\n\r\n if (!!config2) {\r\n // allow users to set options using startRecording method\r\n // config2 is similar to main \"config\" object (second parameter over RecordRTC constructor)\r\n config = new RecordRTCConfiguration(mediaStream, config2);\r\n }\r\n\r\n if (!config.disableLogs) {\r\n console.log('started recording ' + config.type + ' stream.');\r\n }\r\n\r\n if (mediaRecorder) {\r\n mediaRecorder.clearRecordedData();\r\n mediaRecorder.record();\r\n\r\n setState('recording');\r\n\r\n if (self.recordingDuration) {\r\n handleRecordingDuration();\r\n }\r\n return self;\r\n }\r\n\r\n initRecorder(function() {\r\n if (self.recordingDuration) {\r\n handleRecordingDuration();\r\n }\r\n });\r\n\r\n return self;\r\n }\r\n\r\n function initRecorder(initCallback) {\r\n if (initCallback) {\r\n config.initCallback = function() {\r\n initCallback();\r\n initCallback = config.initCallback = null; // recorder.initRecorder should be call-backed once.\r\n };\r\n }\r\n\r\n var Recorder = new GetRecorderType(mediaStream, config);\r\n\r\n mediaRecorder = new Recorder(mediaStream, config);\r\n mediaRecorder.record();\r\n\r\n setState('recording');\r\n\r\n if (!config.disableLogs) {\r\n console.log('Initialized recorderType:', mediaRecorder.constructor.name, 'for output-type:', config.type);\r\n }\r\n }\r\n\r\n function stopRecording(callback) {\r\n callback = callback || function() {};\r\n\r\n if (!mediaRecorder) {\r\n warningLog();\r\n return;\r\n }\r\n\r\n if (self.state === 'paused') {\r\n self.resumeRecording();\r\n\r\n setTimeout(function() {\r\n stopRecording(callback);\r\n }, 1);\r\n return;\r\n }\r\n\r\n if (self.state !== 'recording' && !config.disableLogs) {\r\n console.warn('Recording state should be: \"recording\", however current state is: ', self.state);\r\n }\r\n\r\n if (!config.disableLogs) {\r\n console.log('Stopped recording ' + config.type + ' stream.');\r\n }\r\n\r\n if (config.type !== 'gif') {\r\n mediaRecorder.stop(_callback);\r\n } else {\r\n mediaRecorder.stop();\r\n _callback();\r\n }\r\n\r\n setState('stopped');\r\n\r\n function _callback(__blob) {\r\n if (!mediaRecorder) {\r\n if (typeof callback.call === 'function') {\r\n callback.call(self, '');\r\n } else {\r\n callback('');\r\n }\r\n return;\r\n }\r\n\r\n Object.keys(mediaRecorder).forEach(function(key) {\r\n if (typeof mediaRecorder[key] === 'function') {\r\n return;\r\n }\r\n\r\n self[key] = mediaRecorder[key];\r\n });\r\n\r\n var blob = mediaRecorder.blob;\r\n\r\n if (!blob) {\r\n if (__blob) {\r\n mediaRecorder.blob = blob = __blob;\r\n } else {\r\n throw 'Recording failed.';\r\n }\r\n }\r\n\r\n if (blob && !config.disableLogs) {\r\n console.log(blob.type, '->', bytesToSize(blob.size));\r\n }\r\n\r\n if (callback) {\r\n var url;\r\n\r\n try {\r\n url = URL.createObjectURL(blob);\r\n } catch (e) {}\r\n\r\n if (typeof callback.call === 'function') {\r\n callback.call(self, url);\r\n } else {\r\n callback(url);\r\n }\r\n }\r\n\r\n if (!config.autoWriteToDisk) {\r\n return;\r\n }\r\n\r\n getDataURL(function(dataURL) {\r\n var parameter = {};\r\n parameter[config.type + 'Blob'] = dataURL;\r\n DiskStorage.Store(parameter);\r\n });\r\n }\r\n }\r\n\r\n function pauseRecording() {\r\n if (!mediaRecorder) {\r\n warningLog();\r\n return;\r\n }\r\n\r\n if (self.state !== 'recording') {\r\n if (!config.disableLogs) {\r\n console.warn('Unable to pause the recording. Recording state: ', self.state);\r\n }\r\n return;\r\n }\r\n\r\n setState('paused');\r\n\r\n mediaRecorder.pause();\r\n\r\n if (!config.disableLogs) {\r\n console.log('Paused recording.');\r\n }\r\n }\r\n\r\n function resumeRecording() {\r\n if (!mediaRecorder) {\r\n warningLog();\r\n return;\r\n }\r\n\r\n if (self.state !== 'paused') {\r\n if (!config.disableLogs) {\r\n console.warn('Unable to resume the recording. Recording state: ', self.state);\r\n }\r\n return;\r\n }\r\n\r\n setState('recording');\r\n\r\n // not all libs have this method yet\r\n mediaRecorder.resume();\r\n\r\n if (!config.disableLogs) {\r\n console.log('Resumed recording.');\r\n }\r\n }\r\n\r\n function readFile(_blob) {\r\n postMessage(new FileReaderSync().readAsDataURL(_blob));\r\n }\r\n\r\n function getDataURL(callback, _mediaRecorder) {\r\n if (!callback) {\r\n throw 'Pass a callback function over getDataURL.';\r\n }\r\n\r\n var blob = _mediaRecorder ? _mediaRecorder.blob : (mediaRecorder || {}).blob;\r\n\r\n if (!blob) {\r\n if (!config.disableLogs) {\r\n console.warn('Blob encoder did not finish its job yet.');\r\n }\r\n\r\n setTimeout(function() {\r\n getDataURL(callback, _mediaRecorder);\r\n }, 1000);\r\n return;\r\n }\r\n\r\n if (typeof Worker !== 'undefined' && !navigator.mozGetUserMedia) {\r\n var webWorker = processInWebWorker(readFile);\r\n\r\n webWorker.onmessage = function(event) {\r\n callback(event.data);\r\n };\r\n\r\n webWorker.postMessage(blob);\r\n } else {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(blob);\r\n reader.onload = function(event) {\r\n callback(event.target.result);\r\n };\r\n }\r\n\r\n function processInWebWorker(_function) {\r\n try {\r\n var blob = URL.createObjectURL(new Blob([_function.toString(),\r\n 'this.onmessage = function (eee) {' + _function.name + '(eee.data);}'\r\n ], {\r\n type: 'application/javascript'\r\n }));\r\n\r\n var worker = new Worker(blob);\r\n URL.revokeObjectURL(blob);\r\n return worker;\r\n } catch (e) {}\r\n }\r\n }\r\n\r\n function handleRecordingDuration(counter) {\r\n counter = counter || 0;\r\n\r\n if (self.state === 'paused') {\r\n setTimeout(function() {\r\n handleRecordingDuration(counter);\r\n }, 1000);\r\n return;\r\n }\r\n\r\n if (self.state === 'stopped') {\r\n return;\r\n }\r\n\r\n if (counter >= self.recordingDuration) {\r\n stopRecording(self.onRecordingStopped);\r\n return;\r\n }\r\n\r\n counter += 1000; // 1-second\r\n\r\n setTimeout(function() {\r\n handleRecordingDuration(counter);\r\n }, 1000);\r\n }\r\n\r\n function setState(state) {\r\n if (!self) {\r\n return;\r\n }\r\n\r\n self.state = state;\r\n\r\n if (typeof self.onStateChanged.call === 'function') {\r\n self.onStateChanged.call(self, state);\r\n } else {\r\n self.onStateChanged(state);\r\n }\r\n }\r\n\r\n var WARNING = 'It seems that recorder is destroyed or \"startRecording\" is not invoked for ' + config.type + ' recorder.';\r\n\r\n function warningLog() {\r\n if (config.disableLogs === true) {\r\n return;\r\n }\r\n\r\n console.warn(WARNING);\r\n }\r\n\r\n var mediaRecorder;\r\n\r\n var returnObject = {\r\n /**\r\n * This method starts the recording.\r\n * @method\r\n * @memberof RecordRTC\r\n * @instance\r\n * @example\r\n * var recorder = RecordRTC(mediaStream, {\r\n * type: 'video'\r\n * });\r\n * recorder.startRecording();\r\n */\r\n startRecording: startRecording,\r\n\r\n /**\r\n * This method stops the recording. It is strongly recommended to get \"blob\" or \"URI\" inside the callback to make sure all recorders finished their job.\r\n * @param {function} callback - Callback to get the recorded blob.\r\n * @method\r\n * @memberof RecordRTC\r\n * @instance\r\n * @example\r\n * recorder.stopRecording(function() {\r\n * // use either \"this\" or \"recorder\" object; both are identical\r\n * video.src = this.toURL();\r\n * var blob = this.getBlob();\r\n * });\r\n */\r\n stopRecording: stopRecording,\r\n\r\n /**\r\n * This method pauses the recording. You can resume recording using \"resumeRecording\" method.\r\n * @method\r\n * @memberof RecordRTC\r\n * @instance\r\n * @todo Firefox is unable to pause the recording. Fix it.\r\n * @example\r\n * recorder.pauseRecording(); // pause the recording\r\n * recorder.resumeRecording(); // resume again\r\n */\r\n pauseRecording: pauseRecording,\r\n\r\n /**\r\n * This method resumes the recording.\r\n * @method\r\n * @memberof RecordRTC\r\n * @instance\r\n * @example\r\n * recorder.pauseRecording(); // first of all, pause the recording\r\n * recorder.resumeRecording(); // now resume it\r\n */\r\n resumeRecording: resumeRecording,\r\n\r\n /**\r\n * This method initializes the recording.\r\n * @method\r\n * @memberof RecordRTC\r\n * @instance\r\n * @todo This method should be deprecated.\r\n * @example\r\n * recorder.initRecorder();\r\n */\r\n initRecorder: initRecorder,\r\n\r\n /**\r\n * Ask RecordRTC to auto-stop the recording after 5 minutes.\r\n * @method\r\n * @memberof RecordRTC\r\n * @instance\r\n * @example\r\n * var fiveMinutes = 5 * 1000 * 60;\r\n * recorder.setRecordingDuration(fiveMinutes, function() {\r\n * var blob = this.getBlob();\r\n * video.src = this.toURL();\r\n * });\r\n * \r\n * // or otherwise\r\n * recorder.setRecordingDuration(fiveMinutes).onRecordingStopped(function() {\r\n * var blob = this.getBlob();\r\n * video.src = this.toURL();\r\n * });\r\n */\r\n setRecordingDuration: function(recordingDuration, callback) {\r\n if (typeof recordingDuration === 'undefined') {\r\n throw 'recordingDuration is required.';\r\n }\r\n\r\n if (typeof recordingDuration !== 'number') {\r\n throw 'recordingDuration must be a number.';\r\n }\r\n\r\n self.recordingDuration = recordingDuration;\r\n self.onRecordingStopped = callback || function() {};\r\n\r\n return {\r\n onRecordingStopped: function(callback) {\r\n self.onRecordingStopped = callback;\r\n }\r\n };\r\n },\r\n\r\n /**\r\n * This method can be used to clear/reset all the recorded data.\r\n * @method\r\n * @memberof RecordRTC\r\n * @instance\r\n * @todo Figure out the difference between \"reset\" and \"clearRecordedData\" methods.\r\n * @example\r\n * recorder.clearRecordedData();\r\n */\r\n clearRecordedData: function() {\r\n if (!mediaRecorder) {\r\n warningLog();\r\n return;\r\n }\r\n\r\n mediaRecorder.clearRecordedData();\r\n\r\n if (!config.disableLogs) {\r\n console.log('Cleared old recorded data.');\r\n }\r\n },\r\n\r\n /**\r\n * Get the recorded blob. Use this method inside the \"stopRecording\" callback.\r\n * @method\r\n * @memberof RecordRTC\r\n * @instance\r\n * @example\r\n * recorder.stopRecording(function() {\r\n * var blob = this.getBlob();\r\n *\r\n * var file = new File([blob], 'filename.webm', {\r\n * type: 'video/webm'\r\n * });\r\n *\r\n * var formData = new FormData();\r\n * formData.append('file', file); // upload \"File\" object rather than a \"Blob\"\r\n * uploadToServer(formData);\r\n * });\r\n * @returns {Blob} Returns recorded data as \"Blob\" object.\r\n */\r\n getBlob: function() {\r\n if (!mediaRecorder) {\r\n warningLog();\r\n return;\r\n }\r\n\r\n return mediaRecorder.blob;\r\n },\r\n\r\n /**\r\n * Get data-URI instead of Blob.\r\n * @param {function} callback - Callback to get the Data-URI.\r\n * @method\r\n * @memberof RecordRTC\r\n * @instance\r\n * @example\r\n * recorder.stopRecording(function() {\r\n * recorder.getDataURL(function(dataURI) {\r\n * video.src = dataURI;\r\n * });\r\n * });\r\n */\r\n getDataURL: getDataURL,\r\n\r\n /**\r\n * Get virtual/temporary URL. Usage of this URL is limited to current tab.\r\n * @method\r\n * @memberof RecordRTC\r\n * @instance\r\n * @example\r\n * recorder.stopRecording(function() {\r\n * video.src = this.toURL();\r\n * });\r\n * @returns {String} Returns a virtual/temporary URL for the recorded \"Blob\".\r\n */\r\n toURL: function() {\r\n if (!mediaRecorder) {\r\n warningLog();\r\n return;\r\n }\r\n\r\n return URL.createObjectURL(mediaRecorder.blob);\r\n },\r\n\r\n /**\r\n * Get internal recording object (i.e. internal module) e.g. MutliStreamRecorder, MediaStreamRecorder, StereoAudioRecorder or WhammyRecorder etc.\r\n * @method\r\n * @memberof RecordRTC\r\n * @instance\r\n * @example\r\n * var internalRecorder = recorder.getInternalRecorder();\r\n * if(internalRecorder instanceof MultiStreamRecorder) {\r\n * internalRecorder.addStreams([newAudioStream]);\r\n * internalRecorder.resetVideoStreams([screenStream]);\r\n * }\r\n * @returns {Object} Returns internal recording object.\r\n */\r\n getInternalRecorder: function() {\r\n return mediaRecorder;\r\n },\r\n\r\n /**\r\n * Invoke save-as dialog to save the recorded blob into your disk.\r\n * @param {string} fileName - Set your own file name.\r\n * @method\r\n * @memberof RecordRTC\r\n * @instance\r\n * @example\r\n * recorder.stopRecording(function() {\r\n * this.save('file-name');\r\n *\r\n * // or manually:\r\n * invokeSaveAsDialog(this.getBlob(), 'filename.webm');\r\n * });\r\n */\r\n save: function(fileName) {\r\n if (!mediaRecorder) {\r\n warningLog();\r\n return;\r\n }\r\n\r\n invokeSaveAsDialog(mediaRecorder.blob, fileName);\r\n },\r\n\r\n /**\r\n * This method gets a blob from indexed-DB storage.\r\n * @param {function} callback - Callback to get the recorded blob.\r\n * @method\r\n * @memberof RecordRTC\r\n * @instance\r\n * @example\r\n * recorder.getFromDisk(function(dataURL) {\r\n * video.src = dataURL;\r\n * });\r\n */\r\n getFromDisk: function(callback) {\r\n if (!mediaRecorder) {\r\n warningLog();\r\n return;\r\n }\r\n\r\n RecordRTC.getFromDisk(config.type, callback);\r\n },\r\n\r\n /**\r\n * This method appends an array of webp images to the recorded video-blob. It takes an \"array\" object.\r\n * @type {Array.}\r\n * @param {Array} arrayOfWebPImages - Array of webp images.\r\n * @method\r\n * @memberof RecordRTC\r\n * @instance\r\n * @todo This method should be deprecated.\r\n * @example\r\n * var arrayOfWebPImages = [];\r\n * arrayOfWebPImages.push({\r\n * duration: index,\r\n * image: 'data:image/webp;base64,...'\r\n * });\r\n * recorder.setAdvertisementArray(arrayOfWebPImages);\r\n */\r\n setAdvertisementArray: function(arrayOfWebPImages) {\r\n config.advertisement = [];\r\n\r\n var length = arrayOfWebPImages.length;\r\n for (var i = 0; i < length; i++) {\r\n config.advertisement.push({\r\n duration: i,\r\n image: arrayOfWebPImages[i]\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * It is equivalent to \"recorder.getBlob()\" method. Usage of \"getBlob\" is recommended, though.\r\n * @property {Blob} blob - Recorded Blob can be accessed using this property.\r\n * @memberof RecordRTC\r\n * @instance\r\n * @readonly\r\n * @example\r\n * recorder.stopRecording(function() {\r\n * var blob = this.blob;\r\n *\r\n * // below one is recommended\r\n * var blob = this.getBlob();\r\n * });\r\n */\r\n blob: null,\r\n\r\n /**\r\n * This works only with {recorderType:StereoAudioRecorder}. Use this property on \"stopRecording\" to verify the encoder's sample-rates.\r\n * @property {number} bufferSize - Buffer-size used to encode the WAV container\r\n * @memberof RecordRTC\r\n * @instance\r\n * @readonly\r\n * @example\r\n * recorder.stopRecording(function() {\r\n * alert('Recorder used this buffer-size: ' + this.bufferSize);\r\n * });\r\n */\r\n bufferSize: 0,\r\n\r\n /**\r\n * This works only with {recorderType:StereoAudioRecorder}. Use this property on \"stopRecording\" to verify the encoder's sample-rates.\r\n * @property {number} sampleRate - Sample-rates used to encode the WAV container\r\n * @memberof RecordRTC\r\n * @instance\r\n * @readonly\r\n * @example\r\n * recorder.stopRecording(function() {\r\n * alert('Recorder used these sample-rates: ' + this.sampleRate);\r\n * });\r\n */\r\n sampleRate: 0,\r\n\r\n /**\r\n * {recorderType:StereoAudioRecorder} returns ArrayBuffer object.\r\n * @property {ArrayBuffer} buffer - Audio ArrayBuffer, supported only in Chrome.\r\n * @memberof RecordRTC\r\n * @instance\r\n * @readonly\r\n * @example\r\n * recorder.stopRecording(function() {\r\n * var arrayBuffer = this.buffer;\r\n * alert(arrayBuffer.byteLength);\r\n * });\r\n */\r\n buffer: null,\r\n\r\n /**\r\n * This method resets the recorder. So that you can reuse single recorder instance many times.\r\n * @method\r\n * @memberof RecordRTC\r\n * @instance\r\n * @example\r\n * recorder.reset();\r\n * recorder.startRecording();\r\n */\r\n reset: function() {\r\n if (self.state === 'recording' && !config.disableLogs) {\r\n console.warn('Stop an active recorder.');\r\n }\r\n\r\n if (mediaRecorder && typeof mediaRecorder.clearRecordedData === 'function') {\r\n mediaRecorder.clearRecordedData();\r\n }\r\n mediaRecorder = null;\r\n setState('inactive');\r\n self.blob = null;\r\n },\r\n\r\n /**\r\n * This method is called whenever recorder's state changes. Use this as an \"event\".\r\n * @property {String} state - A recorder's state can be: recording, paused, stopped or inactive.\r\n * @method\r\n * @memberof RecordRTC\r\n * @instance\r\n * @example\r\n * recorder.onStateChanged = function(state) {\r\n * console.log('Recorder state: ', state);\r\n * };\r\n */\r\n onStateChanged: function(state) {\r\n if (!config.disableLogs) {\r\n console.log('Recorder state changed:', state);\r\n }\r\n },\r\n\r\n /**\r\n * A recorder can have inactive, recording, paused or stopped states.\r\n * @property {String} state - A recorder's state can be: recording, paused, stopped or inactive.\r\n * @memberof RecordRTC\r\n * @static\r\n * @readonly\r\n * @example\r\n * // this looper function will keep you updated about the recorder's states.\r\n * (function looper() {\r\n * document.querySelector('h1').innerHTML = 'Recorder\\'s state is: ' + recorder.state;\r\n * if(recorder.state === 'stopped') return; // ignore+stop\r\n * setTimeout(looper, 1000); // update after every 3-seconds\r\n * })();\r\n * recorder.startRecording();\r\n */\r\n state: 'inactive',\r\n\r\n /**\r\n * Get recorder's readonly state.\r\n * @method\r\n * @memberof RecordRTC\r\n * @example\r\n * var state = recorder.getState();\r\n * @returns {String} Returns recording state.\r\n */\r\n getState: function() {\r\n return self.state;\r\n },\r\n\r\n /**\r\n * Destroy RecordRTC instance. Clear all recorders and objects.\r\n * @method\r\n * @memberof RecordRTC\r\n * @example\r\n * recorder.destroy();\r\n */\r\n destroy: function() {\r\n var disableLogsCache = config.disableLogs;\r\n\r\n config = {\r\n disableLogs: true\r\n };\r\n self.reset();\r\n setState('destroyed');\r\n returnObject = self = null;\r\n\r\n if (Storage.AudioContextConstructor) {\r\n Storage.AudioContextConstructor.close();\r\n Storage.AudioContextConstructor = null;\r\n }\r\n\r\n config.disableLogs = disableLogsCache;\r\n\r\n if (!config.disableLogs) {\r\n console.log('RecordRTC is destroyed.');\r\n }\r\n },\r\n\r\n /**\r\n * RecordRTC version number\r\n * @property {String} version - Release version number.\r\n * @memberof RecordRTC\r\n * @static\r\n * @readonly\r\n * @example\r\n * alert(recorder.version);\r\n */\r\n version: '5.6.2'\r\n };\r\n\r\n if (!this) {\r\n self = returnObject;\r\n return returnObject;\r\n }\r\n\r\n // if someone wants to use RecordRTC with the \"new\" keyword.\r\n for (var prop in returnObject) {\r\n this[prop] = returnObject[prop];\r\n }\r\n\r\n self = this;\r\n\r\n return returnObject;\r\n}\r\n\r\nRecordRTC.version = '5.6.2';\r\n\r\nif (typeof module !== 'undefined' /* && !!module.exports*/ ) {\r\n module.exports = RecordRTC;\r\n}\r\n\r\nif (typeof define === 'function' && define.amd) {\r\n define('RecordRTC', [], function() {\r\n return RecordRTC;\r\n });\r\n}\n\r\nRecordRTC.getFromDisk = function(type, callback) {\r\n if (!callback) {\r\n throw 'callback is mandatory.';\r\n }\r\n\r\n console.log('Getting recorded ' + (type === 'all' ? 'blobs' : type + ' blob ') + ' from disk!');\r\n DiskStorage.Fetch(function(dataURL, _type) {\r\n if (type !== 'all' && _type === type + 'Blob' && callback) {\r\n callback(dataURL);\r\n }\r\n\r\n if (type === 'all' && callback) {\r\n callback(dataURL, _type.replace('Blob', ''));\r\n }\r\n });\r\n};\r\n\r\n/**\r\n * This method can be used to store recorded blobs into IndexedDB storage.\r\n * @param {object} options - {audio: Blob, video: Blob, gif: Blob}\r\n * @method\r\n * @memberof RecordRTC\r\n * @example\r\n * RecordRTC.writeToDisk({\r\n * audio: audioBlob,\r\n * video: videoBlob,\r\n * gif : gifBlob\r\n * });\r\n */\r\nRecordRTC.writeToDisk = function(options) {\r\n console.log('Writing recorded blob(s) to disk!');\r\n options = options || {};\r\n if (options.audio && options.video && options.gif) {\r\n options.audio.getDataURL(function(audioDataURL) {\r\n options.video.getDataURL(function(videoDataURL) {\r\n options.gif.getDataURL(function(gifDataURL) {\r\n DiskStorage.Store({\r\n audioBlob: audioDataURL,\r\n videoBlob: videoDataURL,\r\n gifBlob: gifDataURL\r\n });\r\n });\r\n });\r\n });\r\n } else if (options.audio && options.video) {\r\n options.audio.getDataURL(function(audioDataURL) {\r\n options.video.getDataURL(function(videoDataURL) {\r\n DiskStorage.Store({\r\n audioBlob: audioDataURL,\r\n videoBlob: videoDataURL\r\n });\r\n });\r\n });\r\n } else if (options.audio && options.gif) {\r\n options.audio.getDataURL(function(audioDataURL) {\r\n options.gif.getDataURL(function(gifDataURL) {\r\n DiskStorage.Store({\r\n audioBlob: audioDataURL,\r\n gifBlob: gifDataURL\r\n });\r\n });\r\n });\r\n } else if (options.video && options.gif) {\r\n options.video.getDataURL(function(videoDataURL) {\r\n options.gif.getDataURL(function(gifDataURL) {\r\n DiskStorage.Store({\r\n videoBlob: videoDataURL,\r\n gifBlob: gifDataURL\r\n });\r\n });\r\n });\r\n } else if (options.audio) {\r\n options.audio.getDataURL(function(audioDataURL) {\r\n DiskStorage.Store({\r\n audioBlob: audioDataURL\r\n });\r\n });\r\n } else if (options.video) {\r\n options.video.getDataURL(function(videoDataURL) {\r\n DiskStorage.Store({\r\n videoBlob: videoDataURL\r\n });\r\n });\r\n } else if (options.gif) {\r\n options.gif.getDataURL(function(gifDataURL) {\r\n DiskStorage.Store({\r\n gifBlob: gifDataURL\r\n });\r\n });\r\n }\r\n};\n\r\n// __________________________\r\n// RecordRTC-Configuration.js\r\n\r\n/**\r\n * {@link RecordRTCConfiguration} is an inner/private helper for {@link RecordRTC}.\r\n * @summary It configures the 2nd parameter passed over {@link RecordRTC} and returns a valid \"config\" object.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef RecordRTCConfiguration\r\n * @class\r\n * @example\r\n * var options = RecordRTCConfiguration(mediaStream, options);\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.\r\n * @param {object} config - {type:\"video\", disableLogs: true, numberOfAudioChannels: 1, bufferSize: 0, sampleRate: 0, video: HTMLVideoElement, getNativeBlob:true, etc.}\r\n */\r\n\r\nfunction RecordRTCConfiguration(mediaStream, config) {\r\n if (!config.recorderType && !config.type) {\r\n if (!!config.audio && !!config.video) {\r\n config.type = 'video';\r\n } else if (!!config.audio && !config.video) {\r\n config.type = 'audio';\r\n }\r\n }\r\n\r\n if (config.recorderType && !config.type) {\r\n if (config.recorderType === WhammyRecorder || config.recorderType === CanvasRecorder || (typeof WebAssemblyRecorder !== 'undefined' && config.recorderType === WebAssemblyRecorder)) {\r\n config.type = 'video';\r\n } else if (config.recorderType === GifRecorder) {\r\n config.type = 'gif';\r\n } else if (config.recorderType === StereoAudioRecorder) {\r\n config.type = 'audio';\r\n } else if (config.recorderType === MediaStreamRecorder) {\r\n if (getTracks(mediaStream, 'audio').length && getTracks(mediaStream, 'video').length) {\r\n config.type = 'video';\r\n } else if (!getTracks(mediaStream, 'audio').length && getTracks(mediaStream, 'video').length) {\r\n config.type = 'video';\r\n } else if (getTracks(mediaStream, 'audio').length && !getTracks(mediaStream, 'video').length) {\r\n config.type = 'audio';\r\n } else {\r\n // config.type = 'UnKnown';\r\n }\r\n }\r\n }\r\n\r\n if (typeof MediaStreamRecorder !== 'undefined' && typeof MediaRecorder !== 'undefined' && 'requestData' in MediaRecorder.prototype) {\r\n if (!config.mimeType) {\r\n config.mimeType = 'video/webm';\r\n }\r\n\r\n if (!config.type) {\r\n config.type = config.mimeType.split('/')[0];\r\n }\r\n\r\n if (!config.bitsPerSecond) {\r\n // config.bitsPerSecond = 128000;\r\n }\r\n }\r\n\r\n // consider default type=audio\r\n if (!config.type) {\r\n if (config.mimeType) {\r\n config.type = config.mimeType.split('/')[0];\r\n }\r\n if (!config.type) {\r\n config.type = 'audio';\r\n }\r\n }\r\n\r\n return config;\r\n}\n\r\n// __________________\r\n// GetRecorderType.js\r\n\r\n/**\r\n * {@link GetRecorderType} is an inner/private helper for {@link RecordRTC}.\r\n * @summary It returns best recorder-type available for your browser.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef GetRecorderType\r\n * @class\r\n * @example\r\n * var RecorderType = GetRecorderType(options);\r\n * var recorder = new RecorderType(options);\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.\r\n * @param {object} config - {type:\"video\", disableLogs: true, numberOfAudioChannels: 1, bufferSize: 0, sampleRate: 0, video: HTMLVideoElement, etc.}\r\n */\r\n\r\nfunction GetRecorderType(mediaStream, config) {\r\n var recorder;\r\n\r\n // StereoAudioRecorder can work with all three: Edge, Firefox and Chrome\r\n // todo: detect if it is Edge, then auto use: StereoAudioRecorder\r\n if (isChrome || isEdge || isOpera) {\r\n // Media Stream Recording API has not been implemented in chrome yet;\r\n // That's why using WebAudio API to record stereo audio in WAV format\r\n recorder = StereoAudioRecorder;\r\n }\r\n\r\n if (typeof MediaRecorder !== 'undefined' && 'requestData' in MediaRecorder.prototype && !isChrome) {\r\n recorder = MediaStreamRecorder;\r\n }\r\n\r\n // video recorder (in WebM format)\r\n if (config.type === 'video' && (isChrome || isOpera)) {\r\n recorder = WhammyRecorder;\r\n\r\n if (typeof WebAssemblyRecorder !== 'undefined' && typeof ReadableStream !== 'undefined') {\r\n recorder = WebAssemblyRecorder;\r\n }\r\n }\r\n\r\n // video recorder (in Gif format)\r\n if (config.type === 'gif') {\r\n recorder = GifRecorder;\r\n }\r\n\r\n // html2canvas recording!\r\n if (config.type === 'canvas') {\r\n recorder = CanvasRecorder;\r\n }\r\n\r\n if (isMediaRecorderCompatible() && recorder !== CanvasRecorder && recorder !== GifRecorder && typeof MediaRecorder !== 'undefined' && 'requestData' in MediaRecorder.prototype) {\r\n if (getTracks(mediaStream, 'video').length || getTracks(mediaStream, 'audio').length) {\r\n // audio-only recording\r\n if (config.type === 'audio') {\r\n if (typeof MediaRecorder.isTypeSupported === 'function' && MediaRecorder.isTypeSupported('audio/webm')) {\r\n recorder = MediaStreamRecorder;\r\n }\r\n // else recorder = StereoAudioRecorder;\r\n } else {\r\n // video or screen tracks\r\n if (typeof MediaRecorder.isTypeSupported === 'function' && MediaRecorder.isTypeSupported('video/webm')) {\r\n recorder = MediaStreamRecorder;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (mediaStream instanceof Array && mediaStream.length) {\r\n recorder = MultiStreamRecorder;\r\n }\r\n\r\n if (config.recorderType) {\r\n recorder = config.recorderType;\r\n }\r\n\r\n if (!config.disableLogs && !!recorder && !!recorder.name) {\r\n console.log('Using recorderType:', recorder.name || recorder.constructor.name);\r\n }\r\n\r\n if (!recorder && isSafari) {\r\n recorder = MediaStreamRecorder;\r\n }\r\n\r\n return recorder;\r\n}\n\r\n// _____________\r\n// MRecordRTC.js\r\n\r\n/**\r\n * MRecordRTC runs on top of {@link RecordRTC} to bring multiple recordings in a single place, by providing simple API.\r\n * @summary MRecordRTC stands for \"Multiple-RecordRTC\".\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef MRecordRTC\r\n * @class\r\n * @example\r\n * var recorder = new MRecordRTC();\r\n * recorder.addStream(MediaStream);\r\n * recorder.mediaType = {\r\n * audio: true, // or StereoAudioRecorder or MediaStreamRecorder\r\n * video: true, // or WhammyRecorder or MediaStreamRecorder or WebAssemblyRecorder or CanvasRecorder\r\n * gif: true // or GifRecorder\r\n * };\r\n * // mimeType is optional and should be set only in advance cases.\r\n * recorder.mimeType = {\r\n * audio: 'audio/wav',\r\n * video: 'video/webm',\r\n * gif: 'image/gif'\r\n * };\r\n * recorder.startRecording();\r\n * @see For further information:\r\n * @see {@link https://github.com/muaz-khan/RecordRTC/tree/master/MRecordRTC|MRecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.\r\n * @requires {@link RecordRTC}\r\n */\r\n\r\nfunction MRecordRTC(mediaStream) {\r\n\r\n /**\r\n * This method attaches MediaStream object to {@link MRecordRTC}.\r\n * @param {MediaStream} mediaStream - A MediaStream object, either fetched using getUserMedia API, or generated using captureStreamUntilEnded or WebAudio API.\r\n * @method\r\n * @memberof MRecordRTC\r\n * @example\r\n * recorder.addStream(MediaStream);\r\n */\r\n this.addStream = function(_mediaStream) {\r\n if (_mediaStream) {\r\n mediaStream = _mediaStream;\r\n }\r\n };\r\n\r\n /**\r\n * This property can be used to set the recording type e.g. audio, or video, or gif, or canvas.\r\n * @property {object} mediaType - {audio: true, video: true, gif: true}\r\n * @memberof MRecordRTC\r\n * @example\r\n * var recorder = new MRecordRTC();\r\n * recorder.mediaType = {\r\n * audio: true, // TRUE or StereoAudioRecorder or MediaStreamRecorder\r\n * video: true, // TRUE or WhammyRecorder or MediaStreamRecorder or WebAssemblyRecorder or CanvasRecorder\r\n * gif : true // TRUE or GifRecorder\r\n * };\r\n */\r\n this.mediaType = {\r\n audio: true,\r\n video: true\r\n };\r\n\r\n /**\r\n * This method starts recording.\r\n * @method\r\n * @memberof MRecordRTC\r\n * @example\r\n * recorder.startRecording();\r\n */\r\n this.startRecording = function() {\r\n var mediaType = this.mediaType;\r\n var recorderType;\r\n var mimeType = this.mimeType || {\r\n audio: null,\r\n video: null,\r\n gif: null\r\n };\r\n\r\n if (typeof mediaType.audio !== 'function' && isMediaRecorderCompatible() && !getTracks(mediaStream, 'audio').length) {\r\n mediaType.audio = false;\r\n }\r\n\r\n if (typeof mediaType.video !== 'function' && isMediaRecorderCompatible() && !getTracks(mediaStream, 'video').length) {\r\n mediaType.video = false;\r\n }\r\n\r\n if (typeof mediaType.gif !== 'function' && isMediaRecorderCompatible() && !getTracks(mediaStream, 'video').length) {\r\n mediaType.gif = false;\r\n }\r\n\r\n if (!mediaType.audio && !mediaType.video && !mediaType.gif) {\r\n throw 'MediaStream must have either audio or video tracks.';\r\n }\r\n\r\n if (!!mediaType.audio) {\r\n recorderType = null;\r\n if (typeof mediaType.audio === 'function') {\r\n recorderType = mediaType.audio;\r\n }\r\n\r\n this.audioRecorder = new RecordRTC(mediaStream, {\r\n type: 'audio',\r\n bufferSize: this.bufferSize,\r\n sampleRate: this.sampleRate,\r\n numberOfAudioChannels: this.numberOfAudioChannels || 2,\r\n disableLogs: this.disableLogs,\r\n recorderType: recorderType,\r\n mimeType: mimeType.audio,\r\n timeSlice: this.timeSlice,\r\n onTimeStamp: this.onTimeStamp\r\n });\r\n\r\n if (!mediaType.video) {\r\n this.audioRecorder.startRecording();\r\n }\r\n }\r\n\r\n if (!!mediaType.video) {\r\n recorderType = null;\r\n if (typeof mediaType.video === 'function') {\r\n recorderType = mediaType.video;\r\n }\r\n\r\n var newStream = mediaStream;\r\n\r\n if (isMediaRecorderCompatible() && !!mediaType.audio && typeof mediaType.audio === 'function') {\r\n var videoTrack = getTracks(mediaStream, 'video')[0];\r\n\r\n if (isFirefox) {\r\n newStream = new MediaStream();\r\n newStream.addTrack(videoTrack);\r\n\r\n if (recorderType && recorderType === WhammyRecorder) {\r\n // Firefox does NOT supports webp-encoding yet\r\n // But Firefox do supports WebAssemblyRecorder\r\n recorderType = MediaStreamRecorder;\r\n }\r\n } else {\r\n newStream = new MediaStream();\r\n newStream.addTrack(videoTrack);\r\n }\r\n }\r\n\r\n this.videoRecorder = new RecordRTC(newStream, {\r\n type: 'video',\r\n video: this.video,\r\n canvas: this.canvas,\r\n frameInterval: this.frameInterval || 10,\r\n disableLogs: this.disableLogs,\r\n recorderType: recorderType,\r\n mimeType: mimeType.video,\r\n timeSlice: this.timeSlice,\r\n onTimeStamp: this.onTimeStamp,\r\n workerPath: this.workerPath,\r\n webAssemblyPath: this.webAssemblyPath,\r\n frameRate: this.frameRate, // used by WebAssemblyRecorder; values: usually 30; accepts any.\r\n bitrate: this.bitrate // used by WebAssemblyRecorder; values: 0 to 1000+\r\n });\r\n\r\n if (!mediaType.audio) {\r\n this.videoRecorder.startRecording();\r\n }\r\n }\r\n\r\n if (!!mediaType.audio && !!mediaType.video) {\r\n var self = this;\r\n\r\n var isSingleRecorder = isMediaRecorderCompatible() === true;\r\n\r\n if (mediaType.audio instanceof StereoAudioRecorder && !!mediaType.video) {\r\n isSingleRecorder = false;\r\n } else if (mediaType.audio !== true && mediaType.video !== true && mediaType.audio !== mediaType.video) {\r\n isSingleRecorder = false;\r\n }\r\n\r\n if (isSingleRecorder === true) {\r\n self.audioRecorder = null;\r\n self.videoRecorder.startRecording();\r\n } else {\r\n self.videoRecorder.initRecorder(function() {\r\n self.audioRecorder.initRecorder(function() {\r\n // Both recorders are ready to record things accurately\r\n self.videoRecorder.startRecording();\r\n self.audioRecorder.startRecording();\r\n });\r\n });\r\n }\r\n }\r\n\r\n if (!!mediaType.gif) {\r\n recorderType = null;\r\n if (typeof mediaType.gif === 'function') {\r\n recorderType = mediaType.gif;\r\n }\r\n this.gifRecorder = new RecordRTC(mediaStream, {\r\n type: 'gif',\r\n frameRate: this.frameRate || 200,\r\n quality: this.quality || 10,\r\n disableLogs: this.disableLogs,\r\n recorderType: recorderType,\r\n mimeType: mimeType.gif\r\n });\r\n this.gifRecorder.startRecording();\r\n }\r\n };\r\n\r\n /**\r\n * This method stops recording.\r\n * @param {function} callback - Callback function is invoked when all encoders finished their jobs.\r\n * @method\r\n * @memberof MRecordRTC\r\n * @example\r\n * recorder.stopRecording(function(recording){\r\n * var audioBlob = recording.audio;\r\n * var videoBlob = recording.video;\r\n * var gifBlob = recording.gif;\r\n * });\r\n */\r\n this.stopRecording = function(callback) {\r\n callback = callback || function() {};\r\n\r\n if (this.audioRecorder) {\r\n this.audioRecorder.stopRecording(function(blobURL) {\r\n callback(blobURL, 'audio');\r\n });\r\n }\r\n\r\n if (this.videoRecorder) {\r\n this.videoRecorder.stopRecording(function(blobURL) {\r\n callback(blobURL, 'video');\r\n });\r\n }\r\n\r\n if (this.gifRecorder) {\r\n this.gifRecorder.stopRecording(function(blobURL) {\r\n callback(blobURL, 'gif');\r\n });\r\n }\r\n };\r\n\r\n /**\r\n * This method pauses recording.\r\n * @method\r\n * @memberof MRecordRTC\r\n * @example\r\n * recorder.pauseRecording();\r\n */\r\n this.pauseRecording = function() {\r\n if (this.audioRecorder) {\r\n this.audioRecorder.pauseRecording();\r\n }\r\n\r\n if (this.videoRecorder) {\r\n this.videoRecorder.pauseRecording();\r\n }\r\n\r\n if (this.gifRecorder) {\r\n this.gifRecorder.pauseRecording();\r\n }\r\n };\r\n\r\n /**\r\n * This method resumes recording.\r\n * @method\r\n * @memberof MRecordRTC\r\n * @example\r\n * recorder.resumeRecording();\r\n */\r\n this.resumeRecording = function() {\r\n if (this.audioRecorder) {\r\n this.audioRecorder.resumeRecording();\r\n }\r\n\r\n if (this.videoRecorder) {\r\n this.videoRecorder.resumeRecording();\r\n }\r\n\r\n if (this.gifRecorder) {\r\n this.gifRecorder.resumeRecording();\r\n }\r\n };\r\n\r\n /**\r\n * This method can be used to manually get all recorded blobs.\r\n * @param {function} callback - All recorded blobs are passed back to the \"callback\" function.\r\n * @method\r\n * @memberof MRecordRTC\r\n * @example\r\n * recorder.getBlob(function(recording){\r\n * var audioBlob = recording.audio;\r\n * var videoBlob = recording.video;\r\n * var gifBlob = recording.gif;\r\n * });\r\n * // or\r\n * var audioBlob = recorder.getBlob().audio;\r\n * var videoBlob = recorder.getBlob().video;\r\n */\r\n this.getBlob = function(callback) {\r\n var output = {};\r\n\r\n if (this.audioRecorder) {\r\n output.audio = this.audioRecorder.getBlob();\r\n }\r\n\r\n if (this.videoRecorder) {\r\n output.video = this.videoRecorder.getBlob();\r\n }\r\n\r\n if (this.gifRecorder) {\r\n output.gif = this.gifRecorder.getBlob();\r\n }\r\n\r\n if (callback) {\r\n callback(output);\r\n }\r\n\r\n return output;\r\n };\r\n\r\n /**\r\n * Destroy all recorder instances.\r\n * @method\r\n * @memberof MRecordRTC\r\n * @example\r\n * recorder.destroy();\r\n */\r\n this.destroy = function() {\r\n if (this.audioRecorder) {\r\n this.audioRecorder.destroy();\r\n this.audioRecorder = null;\r\n }\r\n\r\n if (this.videoRecorder) {\r\n this.videoRecorder.destroy();\r\n this.videoRecorder = null;\r\n }\r\n\r\n if (this.gifRecorder) {\r\n this.gifRecorder.destroy();\r\n this.gifRecorder = null;\r\n }\r\n };\r\n\r\n /**\r\n * This method can be used to manually get all recorded blobs' DataURLs.\r\n * @param {function} callback - All recorded blobs' DataURLs are passed back to the \"callback\" function.\r\n * @method\r\n * @memberof MRecordRTC\r\n * @example\r\n * recorder.getDataURL(function(recording){\r\n * var audioDataURL = recording.audio;\r\n * var videoDataURL = recording.video;\r\n * var gifDataURL = recording.gif;\r\n * });\r\n */\r\n this.getDataURL = function(callback) {\r\n this.getBlob(function(blob) {\r\n if (blob.audio && blob.video) {\r\n getDataURL(blob.audio, function(_audioDataURL) {\r\n getDataURL(blob.video, function(_videoDataURL) {\r\n callback({\r\n audio: _audioDataURL,\r\n video: _videoDataURL\r\n });\r\n });\r\n });\r\n } else if (blob.audio) {\r\n getDataURL(blob.audio, function(_audioDataURL) {\r\n callback({\r\n audio: _audioDataURL\r\n });\r\n });\r\n } else if (blob.video) {\r\n getDataURL(blob.video, function(_videoDataURL) {\r\n callback({\r\n video: _videoDataURL\r\n });\r\n });\r\n }\r\n });\r\n\r\n function getDataURL(blob, callback00) {\r\n if (typeof Worker !== 'undefined') {\r\n var webWorker = processInWebWorker(function readFile(_blob) {\r\n postMessage(new FileReaderSync().readAsDataURL(_blob));\r\n });\r\n\r\n webWorker.onmessage = function(event) {\r\n callback00(event.data);\r\n };\r\n\r\n webWorker.postMessage(blob);\r\n } else {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(blob);\r\n reader.onload = function(event) {\r\n callback00(event.target.result);\r\n };\r\n }\r\n }\r\n\r\n function processInWebWorker(_function) {\r\n var blob = URL.createObjectURL(new Blob([_function.toString(),\r\n 'this.onmessage = function (eee) {' + _function.name + '(eee.data);}'\r\n ], {\r\n type: 'application/javascript'\r\n }));\r\n\r\n var worker = new Worker(blob);\r\n var url;\r\n if (typeof URL !== 'undefined') {\r\n url = URL;\r\n } else if (typeof webkitURL !== 'undefined') {\r\n url = webkitURL;\r\n } else {\r\n throw 'Neither URL nor webkitURL detected.';\r\n }\r\n url.revokeObjectURL(blob);\r\n return worker;\r\n }\r\n };\r\n\r\n /**\r\n * This method can be used to ask {@link MRecordRTC} to write all recorded blobs into IndexedDB storage.\r\n * @method\r\n * @memberof MRecordRTC\r\n * @example\r\n * recorder.writeToDisk();\r\n */\r\n this.writeToDisk = function() {\r\n RecordRTC.writeToDisk({\r\n audio: this.audioRecorder,\r\n video: this.videoRecorder,\r\n gif: this.gifRecorder\r\n });\r\n };\r\n\r\n /**\r\n * This method can be used to invoke a save-as dialog for all recorded blobs.\r\n * @param {object} args - {audio: 'audio-name', video: 'video-name', gif: 'gif-name'}\r\n * @method\r\n * @memberof MRecordRTC\r\n * @example\r\n * recorder.save({\r\n * audio: 'audio-file-name',\r\n * video: 'video-file-name',\r\n * gif : 'gif-file-name'\r\n * });\r\n */\r\n this.save = function(args) {\r\n args = args || {\r\n audio: true,\r\n video: true,\r\n gif: true\r\n };\r\n\r\n if (!!args.audio && this.audioRecorder) {\r\n this.audioRecorder.save(typeof args.audio === 'string' ? args.audio : '');\r\n }\r\n\r\n if (!!args.video && this.videoRecorder) {\r\n this.videoRecorder.save(typeof args.video === 'string' ? args.video : '');\r\n }\r\n if (!!args.gif && this.gifRecorder) {\r\n this.gifRecorder.save(typeof args.gif === 'string' ? args.gif : '');\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * This method can be used to get all recorded blobs from IndexedDB storage.\r\n * @param {string} type - 'all' or 'audio' or 'video' or 'gif'\r\n * @param {function} callback - Callback function to get all stored blobs.\r\n * @method\r\n * @memberof MRecordRTC\r\n * @example\r\n * MRecordRTC.getFromDisk('all', function(dataURL, type){\r\n * if(type === 'audio') { }\r\n * if(type === 'video') { }\r\n * if(type === 'gif') { }\r\n * });\r\n */\r\nMRecordRTC.getFromDisk = RecordRTC.getFromDisk;\r\n\r\n/**\r\n * This method can be used to store recorded blobs into IndexedDB storage.\r\n * @param {object} options - {audio: Blob, video: Blob, gif: Blob}\r\n * @method\r\n * @memberof MRecordRTC\r\n * @example\r\n * MRecordRTC.writeToDisk({\r\n * audio: audioBlob,\r\n * video: videoBlob,\r\n * gif : gifBlob\r\n * });\r\n */\r\nMRecordRTC.writeToDisk = RecordRTC.writeToDisk;\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n RecordRTC.MRecordRTC = MRecordRTC;\r\n}\n\r\nvar browserFakeUserAgent = 'Fake/5.0 (FakeOS) AppleWebKit/123 (KHTML, like Gecko) Fake/12.3.4567.89 Fake/123.45';\r\n\r\n(function(that) {\r\n if (!that) {\r\n return;\r\n }\r\n\r\n if (typeof window !== 'undefined') {\r\n return;\r\n }\r\n\r\n if (typeof global === 'undefined') {\r\n return;\r\n }\r\n\r\n global.navigator = {\r\n userAgent: browserFakeUserAgent,\r\n getUserMedia: function() {}\r\n };\r\n\r\n if (!global.console) {\r\n global.console = {};\r\n }\r\n\r\n if (typeof global.console.log === 'undefined' || typeof global.console.error === 'undefined') {\r\n global.console.error = global.console.log = global.console.log || function() {\r\n console.log(arguments);\r\n };\r\n }\r\n\r\n if (typeof document === 'undefined') {\r\n /*global document:true */\r\n that.document = {\r\n documentElement: {\r\n appendChild: function() {\r\n return '';\r\n }\r\n }\r\n };\r\n\r\n document.createElement = document.captureStream = document.mozCaptureStream = function() {\r\n var obj = {\r\n getContext: function() {\r\n return obj;\r\n },\r\n play: function() {},\r\n pause: function() {},\r\n drawImage: function() {},\r\n toDataURL: function() {\r\n return '';\r\n },\r\n style: {}\r\n };\r\n return obj;\r\n };\r\n\r\n that.HTMLVideoElement = function() {};\r\n }\r\n\r\n if (typeof location === 'undefined') {\r\n /*global location:true */\r\n that.location = {\r\n protocol: 'file:',\r\n href: '',\r\n hash: ''\r\n };\r\n }\r\n\r\n if (typeof screen === 'undefined') {\r\n /*global screen:true */\r\n that.screen = {\r\n width: 0,\r\n height: 0\r\n };\r\n }\r\n\r\n if (typeof URL === 'undefined') {\r\n /*global screen:true */\r\n that.URL = {\r\n createObjectURL: function() {\r\n return '';\r\n },\r\n revokeObjectURL: function() {\r\n return '';\r\n }\r\n };\r\n }\r\n\r\n /*global window:true */\r\n that.window = global;\r\n})(typeof global !== 'undefined' ? global : null);\n\r\n// _____________________________\r\n// Cross-Browser-Declarations.js\r\n\r\n// animation-frame used in WebM recording\r\n\r\n/*jshint -W079 */\r\nvar requestAnimationFrame = window.requestAnimationFrame;\r\nif (typeof requestAnimationFrame === 'undefined') {\r\n if (typeof webkitRequestAnimationFrame !== 'undefined') {\r\n /*global requestAnimationFrame:true */\r\n requestAnimationFrame = webkitRequestAnimationFrame;\r\n } else if (typeof mozRequestAnimationFrame !== 'undefined') {\r\n /*global requestAnimationFrame:true */\r\n requestAnimationFrame = mozRequestAnimationFrame;\r\n } else if (typeof msRequestAnimationFrame !== 'undefined') {\r\n /*global requestAnimationFrame:true */\r\n requestAnimationFrame = msRequestAnimationFrame;\r\n } else if (typeof requestAnimationFrame === 'undefined') {\r\n // via: https://gist.github.com/paulirish/1579671\r\n var lastTime = 0;\r\n\r\n /*global requestAnimationFrame:true */\r\n requestAnimationFrame = function(callback, element) {\r\n var currTime = new Date().getTime();\r\n var timeToCall = Math.max(0, 16 - (currTime - lastTime));\r\n var id = setTimeout(function() {\r\n callback(currTime + timeToCall);\r\n }, timeToCall);\r\n lastTime = currTime + timeToCall;\r\n return id;\r\n };\r\n }\r\n}\r\n\r\n/*jshint -W079 */\r\nvar cancelAnimationFrame = window.cancelAnimationFrame;\r\nif (typeof cancelAnimationFrame === 'undefined') {\r\n if (typeof webkitCancelAnimationFrame !== 'undefined') {\r\n /*global cancelAnimationFrame:true */\r\n cancelAnimationFrame = webkitCancelAnimationFrame;\r\n } else if (typeof mozCancelAnimationFrame !== 'undefined') {\r\n /*global cancelAnimationFrame:true */\r\n cancelAnimationFrame = mozCancelAnimationFrame;\r\n } else if (typeof msCancelAnimationFrame !== 'undefined') {\r\n /*global cancelAnimationFrame:true */\r\n cancelAnimationFrame = msCancelAnimationFrame;\r\n } else if (typeof cancelAnimationFrame === 'undefined') {\r\n /*global cancelAnimationFrame:true */\r\n cancelAnimationFrame = function(id) {\r\n clearTimeout(id);\r\n };\r\n }\r\n}\r\n\r\n// WebAudio API representer\r\nvar AudioContext = window.AudioContext;\r\n\r\nif (typeof AudioContext === 'undefined') {\r\n if (typeof webkitAudioContext !== 'undefined') {\r\n /*global AudioContext:true */\r\n AudioContext = webkitAudioContext;\r\n }\r\n\r\n if (typeof mozAudioContext !== 'undefined') {\r\n /*global AudioContext:true */\r\n AudioContext = mozAudioContext;\r\n }\r\n}\r\n\r\n/*jshint -W079 */\r\nvar URL = window.URL;\r\n\r\nif (typeof URL === 'undefined' && typeof webkitURL !== 'undefined') {\r\n /*global URL:true */\r\n URL = webkitURL;\r\n}\r\n\r\nif (typeof navigator !== 'undefined' && typeof navigator.getUserMedia === 'undefined') { // maybe window.navigator?\r\n if (typeof navigator.webkitGetUserMedia !== 'undefined') {\r\n navigator.getUserMedia = navigator.webkitGetUserMedia;\r\n }\r\n\r\n if (typeof navigator.mozGetUserMedia !== 'undefined') {\r\n navigator.getUserMedia = navigator.mozGetUserMedia;\r\n }\r\n}\r\n\r\nvar isEdge = navigator.userAgent.indexOf('Edge') !== -1 && (!!navigator.msSaveBlob || !!navigator.msSaveOrOpenBlob);\r\nvar isOpera = !!window.opera || navigator.userAgent.indexOf('OPR/') !== -1;\r\nvar isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1 && ('netscape' in window) && / rv:/.test(navigator.userAgent);\r\nvar isChrome = (!isOpera && !isEdge && !!navigator.webkitGetUserMedia) || isElectron() || navigator.userAgent.toLowerCase().indexOf('chrome/') !== -1;\r\n\r\nvar isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\r\n\r\nif (isSafari && !isChrome && navigator.userAgent.indexOf('CriOS') !== -1) {\r\n isSafari = false;\r\n isChrome = true;\r\n}\r\n\r\nvar MediaStream = window.MediaStream;\r\n\r\nif (typeof MediaStream === 'undefined' && typeof webkitMediaStream !== 'undefined') {\r\n MediaStream = webkitMediaStream;\r\n}\r\n\r\n/*global MediaStream:true */\r\nif (typeof MediaStream !== 'undefined') {\r\n // override \"stop\" method for all browsers\r\n if (typeof MediaStream.prototype.stop === 'undefined') {\r\n MediaStream.prototype.stop = function() {\r\n this.getTracks().forEach(function(track) {\r\n track.stop();\r\n });\r\n };\r\n }\r\n}\r\n\r\n// below function via: http://goo.gl/B3ae8c\r\n/**\r\n * Return human-readable file size.\r\n * @param {number} bytes - Pass bytes and get formatted string.\r\n * @returns {string} - formatted string\r\n * @example\r\n * bytesToSize(1024*1024*5) === '5 GB'\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n */\r\nfunction bytesToSize(bytes) {\r\n var k = 1000;\r\n var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\r\n if (bytes === 0) {\r\n return '0 Bytes';\r\n }\r\n var i = parseInt(Math.floor(Math.log(bytes) / Math.log(k)), 10);\r\n return (bytes / Math.pow(k, i)).toPrecision(3) + ' ' + sizes[i];\r\n}\r\n\r\n/**\r\n * @param {Blob} file - File or Blob object. This parameter is required.\r\n * @param {string} fileName - Optional file name e.g. \"Recorded-Video.webm\"\r\n * @example\r\n * invokeSaveAsDialog(blob or file, [optional] fileName);\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n */\r\nfunction invokeSaveAsDialog(file, fileName) {\r\n if (!file) {\r\n throw 'Blob object is required.';\r\n }\r\n\r\n if (!file.type) {\r\n try {\r\n file.type = 'video/webm';\r\n } catch (e) {}\r\n }\r\n\r\n var fileExtension = (file.type || 'video/webm').split('/')[1];\r\n if (fileExtension.indexOf(';') !== -1) {\r\n // extended mimetype, e.g. 'video/webm;codecs=vp8,opus'\r\n fileExtension = fileExtension.split(';')[0];\r\n }\r\n if (fileName && fileName.indexOf('.') !== -1) {\r\n var splitted = fileName.split('.');\r\n fileName = splitted[0];\r\n fileExtension = splitted[1];\r\n }\r\n\r\n var fileFullName = (fileName || (Math.round(Math.random() * 9999999999) + 888888888)) + '.' + fileExtension;\r\n\r\n if (typeof navigator.msSaveOrOpenBlob !== 'undefined') {\r\n return navigator.msSaveOrOpenBlob(file, fileFullName);\r\n } else if (typeof navigator.msSaveBlob !== 'undefined') {\r\n return navigator.msSaveBlob(file, fileFullName);\r\n }\r\n\r\n var hyperlink = document.createElement('a');\r\n hyperlink.href = URL.createObjectURL(file);\r\n hyperlink.download = fileFullName;\r\n\r\n hyperlink.style = 'display:none;opacity:0;color:transparent;';\r\n (document.body || document.documentElement).appendChild(hyperlink);\r\n\r\n if (typeof hyperlink.click === 'function') {\r\n hyperlink.click();\r\n } else {\r\n hyperlink.target = '_blank';\r\n hyperlink.dispatchEvent(new MouseEvent('click', {\r\n view: window,\r\n bubbles: true,\r\n cancelable: true\r\n }));\r\n }\r\n\r\n URL.revokeObjectURL(hyperlink.href);\r\n}\r\n\r\n/**\r\n * from: https://github.com/cheton/is-electron/blob/master/index.js\r\n **/\r\nfunction isElectron() {\r\n // Renderer process\r\n if (typeof window !== 'undefined' && typeof window.process === 'object' && window.process.type === 'renderer') {\r\n return true;\r\n }\r\n\r\n // Main process\r\n if (typeof process !== 'undefined' && typeof process.versions === 'object' && !!process.versions.electron) {\r\n return true;\r\n }\r\n\r\n // Detect the user agent when the `nodeIntegration` option is set to true\r\n if (typeof navigator === 'object' && typeof navigator.userAgent === 'string' && navigator.userAgent.indexOf('Electron') >= 0) {\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\nfunction getTracks(stream, kind) {\r\n if (!stream || !stream.getTracks) {\r\n return [];\r\n }\r\n\r\n return stream.getTracks().filter(function(t) {\r\n return t.kind === (kind || 'audio');\r\n });\r\n}\r\n\r\nfunction setSrcObject(stream, element) {\r\n if ('srcObject' in element) {\r\n element.srcObject = stream;\r\n } else if ('mozSrcObject' in element) {\r\n element.mozSrcObject = stream;\r\n } else {\r\n element.srcObject = stream;\r\n }\r\n}\r\n\r\n/**\r\n * @param {Blob} file - File or Blob object.\r\n * @param {function} callback - Callback function.\r\n * @example\r\n * getSeekableBlob(blob or file, callback);\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n */\r\nfunction getSeekableBlob(inputBlob, callback) {\r\n // EBML.js copyrights goes to: https://github.com/legokichi/ts-ebml\r\n if (typeof EBML === 'undefined') {\r\n throw new Error('Please link: https://www.webrtc-experiment.com/EBML.js');\r\n }\r\n\r\n var reader = new EBML.Reader();\r\n var decoder = new EBML.Decoder();\r\n var tools = EBML.tools;\r\n\r\n var fileReader = new FileReader();\r\n fileReader.onload = function(e) {\r\n var ebmlElms = decoder.decode(this.result);\r\n ebmlElms.forEach(function(element) {\r\n reader.read(element);\r\n });\r\n reader.stop();\r\n var refinedMetadataBuf = tools.makeMetadataSeekable(reader.metadatas, reader.duration, reader.cues);\r\n var body = this.result.slice(reader.metadataSize);\r\n var newBlob = new Blob([refinedMetadataBuf, body], {\r\n type: 'video/webm'\r\n });\r\n\r\n callback(newBlob);\r\n };\r\n fileReader.readAsArrayBuffer(inputBlob);\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n RecordRTC.invokeSaveAsDialog = invokeSaveAsDialog;\r\n RecordRTC.getTracks = getTracks;\r\n RecordRTC.getSeekableBlob = getSeekableBlob;\r\n RecordRTC.bytesToSize = bytesToSize;\r\n RecordRTC.isElectron = isElectron;\r\n}\r\n\r\n// __________ (used to handle stuff like http://goo.gl/xmE5eg) issue #129\r\n// Storage.js\r\n\r\n/**\r\n * Storage is a standalone object used by {@link RecordRTC} to store reusable objects e.g. \"new AudioContext\".\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @example\r\n * Storage.AudioContext === webkitAudioContext\r\n * @property {webkitAudioContext} AudioContext - Keeps a reference to AudioContext object.\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n */\r\n\r\nvar Storage = {};\r\n\r\nif (typeof AudioContext !== 'undefined') {\r\n Storage.AudioContext = AudioContext;\r\n} else if (typeof webkitAudioContext !== 'undefined') {\r\n Storage.AudioContext = webkitAudioContext;\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n RecordRTC.Storage = Storage;\r\n}\n\r\nfunction isMediaRecorderCompatible() {\r\n if (isFirefox || isSafari || isEdge) {\r\n return true;\r\n }\r\n\r\n var nVer = navigator.appVersion;\r\n var nAgt = navigator.userAgent;\r\n var fullVersion = '' + parseFloat(navigator.appVersion);\r\n var majorVersion = parseInt(navigator.appVersion, 10);\r\n var nameOffset, verOffset, ix;\r\n\r\n if (isChrome || isOpera) {\r\n verOffset = nAgt.indexOf('Chrome');\r\n fullVersion = nAgt.substring(verOffset + 7);\r\n }\r\n\r\n // trim the fullVersion string at semicolon/space if present\r\n if ((ix = fullVersion.indexOf(';')) !== -1) {\r\n fullVersion = fullVersion.substring(0, ix);\r\n }\r\n\r\n if ((ix = fullVersion.indexOf(' ')) !== -1) {\r\n fullVersion = fullVersion.substring(0, ix);\r\n }\r\n\r\n majorVersion = parseInt('' + fullVersion, 10);\r\n\r\n if (isNaN(majorVersion)) {\r\n fullVersion = '' + parseFloat(navigator.appVersion);\r\n majorVersion = parseInt(navigator.appVersion, 10);\r\n }\r\n\r\n return majorVersion >= 49;\r\n}\n\r\n// ______________________\r\n// MediaStreamRecorder.js\r\n\r\n/**\r\n * MediaStreamRecorder is an abstraction layer for {@link https://w3c.github.io/mediacapture-record/MediaRecorder.html|MediaRecorder API}. It is used by {@link RecordRTC} to record MediaStream(s) in both Chrome and Firefox.\r\n * @summary Runs top over {@link https://w3c.github.io/mediacapture-record/MediaRecorder.html|MediaRecorder API}.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://github.com/muaz-khan|Muaz Khan}\r\n * @typedef MediaStreamRecorder\r\n * @class\r\n * @example\r\n * var config = {\r\n * mimeType: 'video/webm', // vp8, vp9, h264, mkv, opus/vorbis\r\n * audioBitsPerSecond : 256 * 8 * 1024,\r\n * videoBitsPerSecond : 256 * 8 * 1024,\r\n * bitsPerSecond: 256 * 8 * 1024, // if this is provided, skip above two\r\n * checkForInactiveTracks: true,\r\n * timeSlice: 1000, // concatenate intervals based blobs\r\n * ondataavailable: function() {} // get intervals based blobs\r\n * }\r\n * var recorder = new MediaStreamRecorder(mediaStream, config);\r\n * recorder.record();\r\n * recorder.stop(function(blob) {\r\n * video.src = URL.createObjectURL(blob);\r\n *\r\n * // or\r\n * var blob = recorder.blob;\r\n * });\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.\r\n * @param {object} config - {disableLogs:true, initCallback: function, mimeType: \"video/webm\", timeSlice: 1000}\r\n * @throws Will throw an error if first argument \"MediaStream\" is missing. Also throws error if \"MediaRecorder API\" are not supported by the browser.\r\n */\r\n\r\nfunction MediaStreamRecorder(mediaStream, config) {\r\n var self = this;\r\n\r\n if (typeof mediaStream === 'undefined') {\r\n throw 'First argument \"MediaStream\" is required.';\r\n }\r\n\r\n if (typeof MediaRecorder === 'undefined') {\r\n throw 'Your browser does not support the Media Recorder API. Please try other modules e.g. WhammyRecorder or StereoAudioRecorder.';\r\n }\r\n\r\n config = config || {\r\n // bitsPerSecond: 256 * 8 * 1024,\r\n mimeType: 'video/webm'\r\n };\r\n\r\n if (config.type === 'audio') {\r\n if (getTracks(mediaStream, 'video').length && getTracks(mediaStream, 'audio').length) {\r\n var stream;\r\n if (!!navigator.mozGetUserMedia) {\r\n stream = new MediaStream();\r\n stream.addTrack(getTracks(mediaStream, 'audio')[0]);\r\n } else {\r\n // webkitMediaStream\r\n stream = new MediaStream(getTracks(mediaStream, 'audio'));\r\n }\r\n mediaStream = stream;\r\n }\r\n\r\n if (!config.mimeType || config.mimeType.toString().toLowerCase().indexOf('audio') === -1) {\r\n config.mimeType = isChrome ? 'audio/webm' : 'audio/ogg';\r\n }\r\n\r\n if (config.mimeType && config.mimeType.toString().toLowerCase() !== 'audio/ogg' && !!navigator.mozGetUserMedia) {\r\n // forcing better codecs on Firefox (via #166)\r\n config.mimeType = 'audio/ogg';\r\n }\r\n }\r\n\r\n var arrayOfBlobs = [];\r\n\r\n /**\r\n * This method returns array of blobs. Use only with \"timeSlice\". Its useful to preview recording anytime, without using the \"stop\" method.\r\n * @method\r\n * @memberof MediaStreamRecorder\r\n * @example\r\n * var arrayOfBlobs = recorder.getArrayOfBlobs();\r\n * @returns {Array} Returns array of recorded blobs.\r\n */\r\n this.getArrayOfBlobs = function() {\r\n return arrayOfBlobs;\r\n };\r\n\r\n /**\r\n * This method records MediaStream.\r\n * @method\r\n * @memberof MediaStreamRecorder\r\n * @example\r\n * recorder.record();\r\n */\r\n this.record = function() {\r\n // set defaults\r\n self.blob = null;\r\n self.clearRecordedData();\r\n self.timestamps = [];\r\n allStates = [];\r\n arrayOfBlobs = [];\r\n\r\n var recorderHints = config;\r\n\r\n if (!config.disableLogs) {\r\n console.log('Passing following config over MediaRecorder API.', recorderHints);\r\n }\r\n\r\n if (mediaRecorder) {\r\n // mandatory to make sure Firefox doesn't fails to record streams 3-4 times without reloading the page.\r\n mediaRecorder = null;\r\n }\r\n\r\n if (isChrome && !isMediaRecorderCompatible()) {\r\n // to support video-only recording on stable\r\n recorderHints = 'video/vp8';\r\n }\r\n\r\n if (typeof MediaRecorder.isTypeSupported === 'function' && recorderHints.mimeType) {\r\n if (!MediaRecorder.isTypeSupported(recorderHints.mimeType)) {\r\n if (!config.disableLogs) {\r\n console.warn('MediaRecorder API seems unable to record mimeType:', recorderHints.mimeType);\r\n }\r\n\r\n recorderHints.mimeType = config.type === 'audio' ? 'audio/webm' : 'video/webm';\r\n }\r\n }\r\n\r\n // using MediaRecorder API here\r\n try {\r\n mediaRecorder = new MediaRecorder(mediaStream, recorderHints);\r\n\r\n // reset\r\n config.mimeType = recorderHints.mimeType;\r\n } catch (e) {\r\n // chrome-based fallback\r\n mediaRecorder = new MediaRecorder(mediaStream);\r\n }\r\n\r\n // old hack?\r\n if (recorderHints.mimeType && !MediaRecorder.isTypeSupported && 'canRecordMimeType' in mediaRecorder && mediaRecorder.canRecordMimeType(recorderHints.mimeType) === false) {\r\n if (!config.disableLogs) {\r\n console.warn('MediaRecorder API seems unable to record mimeType:', recorderHints.mimeType);\r\n }\r\n }\r\n\r\n // Dispatching OnDataAvailable Handler\r\n mediaRecorder.ondataavailable = function(e) {\r\n if (e.data) {\r\n allStates.push('ondataavailable: ' + bytesToSize(e.data.size));\r\n }\r\n\r\n if (typeof config.timeSlice === 'number') {\r\n if (e.data && e.data.size) {\r\n arrayOfBlobs.push(e.data);\r\n updateTimeStamp();\r\n\r\n if (typeof config.ondataavailable === 'function') {\r\n // intervals based blobs\r\n var blob = config.getNativeBlob ? e.data : new Blob([e.data], {\r\n type: getMimeType(recorderHints)\r\n });\r\n config.ondataavailable(blob);\r\n }\r\n }\r\n return;\r\n }\r\n\r\n if (!e.data || !e.data.size || e.data.size < 100 || self.blob) {\r\n // make sure that stopRecording always getting fired\r\n // even if there is invalid data\r\n if (self.recordingCallback) {\r\n self.recordingCallback(new Blob([], {\r\n type: getMimeType(recorderHints)\r\n }));\r\n self.recordingCallback = null;\r\n }\r\n return;\r\n }\r\n\r\n self.blob = config.getNativeBlob ? e.data : new Blob([e.data], {\r\n type: getMimeType(recorderHints)\r\n });\r\n\r\n if (self.recordingCallback) {\r\n self.recordingCallback(self.blob);\r\n self.recordingCallback = null;\r\n }\r\n };\r\n\r\n mediaRecorder.onstart = function() {\r\n allStates.push('started');\r\n };\r\n\r\n mediaRecorder.onpause = function() {\r\n allStates.push('paused');\r\n };\r\n\r\n mediaRecorder.onresume = function() {\r\n allStates.push('resumed');\r\n };\r\n\r\n mediaRecorder.onstop = function() {\r\n allStates.push('stopped');\r\n };\r\n\r\n mediaRecorder.onerror = function(error) {\r\n if (!error) {\r\n return;\r\n }\r\n\r\n if (!error.name) {\r\n error.name = 'UnknownError';\r\n }\r\n\r\n allStates.push('error: ' + error);\r\n\r\n if (!config.disableLogs) {\r\n // via: https://w3c.github.io/mediacapture-record/MediaRecorder.html#exception-summary\r\n if (error.name.toString().toLowerCase().indexOf('invalidstate') !== -1) {\r\n console.error('The MediaRecorder is not in a state in which the proposed operation is allowed to be executed.', error);\r\n } else if (error.name.toString().toLowerCase().indexOf('notsupported') !== -1) {\r\n console.error('MIME type (', recorderHints.mimeType, ') is not supported.', error);\r\n } else if (error.name.toString().toLowerCase().indexOf('security') !== -1) {\r\n console.error('MediaRecorder security error', error);\r\n }\r\n\r\n // older code below\r\n else if (error.name === 'OutOfMemory') {\r\n console.error('The UA has exhaused the available memory. User agents SHOULD provide as much additional information as possible in the message attribute.', error);\r\n } else if (error.name === 'IllegalStreamModification') {\r\n console.error('A modification to the stream has occurred that makes it impossible to continue recording. An example would be the addition of a Track while recording is occurring. User agents SHOULD provide as much additional information as possible in the message attribute.', error);\r\n } else if (error.name === 'OtherRecordingError') {\r\n console.error('Used for an fatal error other than those listed above. User agents SHOULD provide as much additional information as possible in the message attribute.', error);\r\n } else if (error.name === 'GenericError') {\r\n console.error('The UA cannot provide the codec or recording option that has been requested.', error);\r\n } else {\r\n console.error('MediaRecorder Error', error);\r\n }\r\n }\r\n\r\n (function(looper) {\r\n if (!self.manuallyStopped && mediaRecorder && mediaRecorder.state === 'inactive') {\r\n delete config.timeslice;\r\n\r\n // 10 minutes, enough?\r\n mediaRecorder.start(10 * 60 * 1000);\r\n return;\r\n }\r\n\r\n setTimeout(looper, 1000);\r\n })();\r\n\r\n if (mediaRecorder.state !== 'inactive' && mediaRecorder.state !== 'stopped') {\r\n mediaRecorder.stop();\r\n }\r\n };\r\n\r\n if (typeof config.timeSlice === 'number') {\r\n updateTimeStamp();\r\n mediaRecorder.start(config.timeSlice);\r\n } else {\r\n // default is 60 minutes; enough?\r\n // use config => {timeSlice: 1000} otherwise\r\n\r\n mediaRecorder.start(3.6e+6);\r\n }\r\n\r\n if (config.initCallback) {\r\n config.initCallback(); // old code\r\n }\r\n };\r\n\r\n /**\r\n * @property {Array} timestamps - Array of time stamps\r\n * @memberof MediaStreamRecorder\r\n * @example\r\n * console.log(recorder.timestamps);\r\n */\r\n this.timestamps = [];\r\n\r\n function updateTimeStamp() {\r\n self.timestamps.push(new Date().getTime());\r\n\r\n if (typeof config.onTimeStamp === 'function') {\r\n config.onTimeStamp(self.timestamps[self.timestamps.length - 1], self.timestamps);\r\n }\r\n }\r\n\r\n function getMimeType(secondObject) {\r\n if (mediaRecorder && mediaRecorder.mimeType) {\r\n return mediaRecorder.mimeType;\r\n }\r\n\r\n return secondObject.mimeType || 'video/webm';\r\n }\r\n\r\n /**\r\n * This method stops recording MediaStream.\r\n * @param {function} callback - Callback function, that is used to pass recorded blob back to the callee.\r\n * @method\r\n * @memberof MediaStreamRecorder\r\n * @example\r\n * recorder.stop(function(blob) {\r\n * video.src = URL.createObjectURL(blob);\r\n * });\r\n */\r\n this.stop = function(callback) {\r\n callback = callback || function() {};\r\n\r\n self.manuallyStopped = true; // used inside the mediaRecorder.onerror\r\n\r\n if (!mediaRecorder) {\r\n return;\r\n }\r\n\r\n this.recordingCallback = callback;\r\n\r\n if (mediaRecorder.state === 'recording') {\r\n mediaRecorder.stop();\r\n }\r\n\r\n if (typeof config.timeSlice === 'number') {\r\n setTimeout(function() {\r\n self.blob = new Blob(arrayOfBlobs, {\r\n type: getMimeType(config)\r\n });\r\n\r\n self.recordingCallback(self.blob);\r\n }, 100);\r\n }\r\n };\r\n\r\n /**\r\n * This method pauses the recording process.\r\n * @method\r\n * @memberof MediaStreamRecorder\r\n * @example\r\n * recorder.pause();\r\n */\r\n this.pause = function() {\r\n if (!mediaRecorder) {\r\n return;\r\n }\r\n\r\n if (mediaRecorder.state === 'recording') {\r\n mediaRecorder.pause();\r\n }\r\n };\r\n\r\n /**\r\n * This method resumes the recording process.\r\n * @method\r\n * @memberof MediaStreamRecorder\r\n * @example\r\n * recorder.resume();\r\n */\r\n this.resume = function() {\r\n if (!mediaRecorder) {\r\n return;\r\n }\r\n\r\n if (mediaRecorder.state === 'paused') {\r\n mediaRecorder.resume();\r\n }\r\n };\r\n\r\n /**\r\n * This method resets currently recorded data.\r\n * @method\r\n * @memberof MediaStreamRecorder\r\n * @example\r\n * recorder.clearRecordedData();\r\n */\r\n this.clearRecordedData = function() {\r\n if (mediaRecorder && mediaRecorder.state === 'recording') {\r\n self.stop(clearRecordedDataCB);\r\n }\r\n\r\n clearRecordedDataCB();\r\n };\r\n\r\n function clearRecordedDataCB() {\r\n arrayOfBlobs = [];\r\n mediaRecorder = null;\r\n self.timestamps = [];\r\n }\r\n\r\n // Reference to \"MediaRecorder\" object\r\n var mediaRecorder;\r\n\r\n /**\r\n * Access to native MediaRecorder API\r\n * @method\r\n * @memberof MediaStreamRecorder\r\n * @instance\r\n * @example\r\n * var internal = recorder.getInternalRecorder();\r\n * internal.ondataavailable = function() {}; // override\r\n * internal.stream, internal.onpause, internal.onstop, etc.\r\n * @returns {Object} Returns internal recording object.\r\n */\r\n this.getInternalRecorder = function() {\r\n return mediaRecorder;\r\n };\r\n\r\n function isMediaStreamActive() {\r\n if ('active' in mediaStream) {\r\n if (!mediaStream.active) {\r\n return false;\r\n }\r\n } else if ('ended' in mediaStream) { // old hack\r\n if (mediaStream.ended) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * @property {Blob} blob - Recorded data as \"Blob\" object.\r\n * @memberof MediaStreamRecorder\r\n * @example\r\n * recorder.stop(function() {\r\n * var blob = recorder.blob;\r\n * });\r\n */\r\n this.blob = null;\r\n\r\n\r\n /**\r\n * Get MediaRecorder readonly state.\r\n * @method\r\n * @memberof MediaStreamRecorder\r\n * @example\r\n * var state = recorder.getState();\r\n * @returns {String} Returns recording state.\r\n */\r\n this.getState = function() {\r\n if (!mediaRecorder) {\r\n return 'inactive';\r\n }\r\n\r\n return mediaRecorder.state || 'inactive';\r\n };\r\n\r\n // list of all recording states\r\n var allStates = [];\r\n\r\n /**\r\n * Get MediaRecorder all recording states.\r\n * @method\r\n * @memberof MediaStreamRecorder\r\n * @example\r\n * var state = recorder.getAllStates();\r\n * @returns {Array} Returns all recording states\r\n */\r\n this.getAllStates = function() {\r\n return allStates;\r\n };\r\n\r\n // if any Track within the MediaStream is muted or not enabled at any time, \r\n // the browser will only record black frames \r\n // or silence since that is the content produced by the Track\r\n // so we need to stopRecording as soon as any single track ends.\r\n if (typeof config.checkForInactiveTracks === 'undefined') {\r\n config.checkForInactiveTracks = false; // disable to minimize CPU usage\r\n }\r\n\r\n var self = this;\r\n\r\n // this method checks if media stream is stopped\r\n // or if any track is ended.\r\n (function looper() {\r\n if (!mediaRecorder || config.checkForInactiveTracks === false) {\r\n return;\r\n }\r\n\r\n if (isMediaStreamActive() === false) {\r\n if (!config.disableLogs) {\r\n console.log('MediaStream seems stopped.');\r\n }\r\n self.stop();\r\n return;\r\n }\r\n\r\n setTimeout(looper, 1000); // check every second\r\n })();\r\n\r\n // for debugging\r\n this.name = 'MediaStreamRecorder';\r\n this.toString = function() {\r\n return this.name;\r\n };\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n RecordRTC.MediaStreamRecorder = MediaStreamRecorder;\r\n}\r\n\r\n// source code from: http://typedarray.org/wp-content/projects/WebAudioRecorder/script.js\r\n// https://github.com/mattdiamond/Recorderjs#license-mit\r\n// ______________________\r\n// StereoAudioRecorder.js\r\n\r\n/**\r\n * StereoAudioRecorder is a standalone class used by {@link RecordRTC} to bring \"stereo\" audio-recording in chrome.\r\n * @summary JavaScript standalone object for stereo audio recording.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef StereoAudioRecorder\r\n * @class\r\n * @example\r\n * var recorder = new StereoAudioRecorder(MediaStream, {\r\n * sampleRate: 44100,\r\n * bufferSize: 4096\r\n * });\r\n * recorder.record();\r\n * recorder.stop(function(blob) {\r\n * video.src = URL.createObjectURL(blob);\r\n * });\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.\r\n * @param {object} config - {sampleRate: 44100, bufferSize: 4096, numberOfAudioChannels: 1, etc.}\r\n */\r\n\r\nfunction StereoAudioRecorder(mediaStream, config) {\r\n if (!getTracks(mediaStream, 'audio').length) {\r\n throw 'Your stream has no audio tracks.';\r\n }\r\n\r\n config = config || {};\r\n\r\n var self = this;\r\n\r\n // variables\r\n var leftchannel = [];\r\n var rightchannel = [];\r\n var recording = false;\r\n var recordingLength = 0;\r\n var jsAudioNode;\r\n\r\n var numberOfAudioChannels = 2;\r\n\r\n /**\r\n * Set sample rates such as 8K or 16K. Reference: http://stackoverflow.com/a/28977136/552182\r\n * @property {number} desiredSampRate - Desired Bits per sample * 1000\r\n * @memberof StereoAudioRecorder\r\n * @instance\r\n * @example\r\n * var recorder = StereoAudioRecorder(mediaStream, {\r\n * desiredSampRate: 16 * 1000 // bits-per-sample * 1000\r\n * });\r\n */\r\n var desiredSampRate = config.desiredSampRate;\r\n\r\n // backward compatibility\r\n if (config.leftChannel === true) {\r\n numberOfAudioChannels = 1;\r\n }\r\n\r\n if (config.numberOfAudioChannels === 1) {\r\n numberOfAudioChannels = 1;\r\n }\r\n\r\n if (!numberOfAudioChannels || numberOfAudioChannels < 1) {\r\n numberOfAudioChannels = 2;\r\n }\r\n\r\n if (!config.disableLogs) {\r\n console.log('StereoAudioRecorder is set to record number of channels: ' + numberOfAudioChannels);\r\n }\r\n\r\n // if any Track within the MediaStream is muted or not enabled at any time, \r\n // the browser will only record black frames \r\n // or silence since that is the content produced by the Track\r\n // so we need to stopRecording as soon as any single track ends.\r\n if (typeof config.checkForInactiveTracks === 'undefined') {\r\n config.checkForInactiveTracks = true;\r\n }\r\n\r\n function isMediaStreamActive() {\r\n if (config.checkForInactiveTracks === false) {\r\n // always return \"true\"\r\n return true;\r\n }\r\n\r\n if ('active' in mediaStream) {\r\n if (!mediaStream.active) {\r\n return false;\r\n }\r\n } else if ('ended' in mediaStream) { // old hack\r\n if (mediaStream.ended) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * This method records MediaStream.\r\n * @method\r\n * @memberof StereoAudioRecorder\r\n * @example\r\n * recorder.record();\r\n */\r\n this.record = function() {\r\n if (isMediaStreamActive() === false) {\r\n throw 'Please make sure MediaStream is active.';\r\n }\r\n\r\n resetVariables();\r\n\r\n isAudioProcessStarted = isPaused = false;\r\n recording = true;\r\n\r\n if (typeof config.timeSlice !== 'undefined') {\r\n looper();\r\n }\r\n };\r\n\r\n function mergeLeftRightBuffers(config, callback) {\r\n function mergeAudioBuffers(config, cb) {\r\n var numberOfAudioChannels = config.numberOfAudioChannels;\r\n\r\n // todo: \"slice(0)\" --- is it causes loop? Should be removed?\r\n var leftBuffers = config.leftBuffers.slice(0);\r\n var rightBuffers = config.rightBuffers.slice(0);\r\n var sampleRate = config.sampleRate;\r\n var internalInterleavedLength = config.internalInterleavedLength;\r\n var desiredSampRate = config.desiredSampRate;\r\n\r\n if (numberOfAudioChannels === 2) {\r\n leftBuffers = mergeBuffers(leftBuffers, internalInterleavedLength);\r\n rightBuffers = mergeBuffers(rightBuffers, internalInterleavedLength);\r\n\r\n if (desiredSampRate) {\r\n leftBuffers = interpolateArray(leftBuffers, desiredSampRate, sampleRate);\r\n rightBuffers = interpolateArray(rightBuffers, desiredSampRate, sampleRate);\r\n }\r\n }\r\n\r\n if (numberOfAudioChannels === 1) {\r\n leftBuffers = mergeBuffers(leftBuffers, internalInterleavedLength);\r\n\r\n if (desiredSampRate) {\r\n leftBuffers = interpolateArray(leftBuffers, desiredSampRate, sampleRate);\r\n }\r\n }\r\n\r\n // set sample rate as desired sample rate\r\n if (desiredSampRate) {\r\n sampleRate = desiredSampRate;\r\n }\r\n\r\n // for changing the sampling rate, reference:\r\n // http://stackoverflow.com/a/28977136/552182\r\n function interpolateArray(data, newSampleRate, oldSampleRate) {\r\n var fitCount = Math.round(data.length * (newSampleRate / oldSampleRate));\r\n var newData = [];\r\n var springFactor = Number((data.length - 1) / (fitCount - 1));\r\n newData[0] = data[0];\r\n for (var i = 1; i < fitCount - 1; i++) {\r\n var tmp = i * springFactor;\r\n var before = Number(Math.floor(tmp)).toFixed();\r\n var after = Number(Math.ceil(tmp)).toFixed();\r\n var atPoint = tmp - before;\r\n newData[i] = linearInterpolate(data[before], data[after], atPoint);\r\n }\r\n newData[fitCount - 1] = data[data.length - 1];\r\n return newData;\r\n }\r\n\r\n function linearInterpolate(before, after, atPoint) {\r\n return before + (after - before) * atPoint;\r\n }\r\n\r\n function mergeBuffers(channelBuffer, rLength) {\r\n var result = new Float64Array(rLength);\r\n var offset = 0;\r\n var lng = channelBuffer.length;\r\n\r\n for (var i = 0; i < lng; i++) {\r\n var buffer = channelBuffer[i];\r\n result.set(buffer, offset);\r\n offset += buffer.length;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n function interleave(leftChannel, rightChannel) {\r\n var length = leftChannel.length + rightChannel.length;\r\n\r\n var result = new Float64Array(length);\r\n\r\n var inputIndex = 0;\r\n\r\n for (var index = 0; index < length;) {\r\n result[index++] = leftChannel[inputIndex];\r\n result[index++] = rightChannel[inputIndex];\r\n inputIndex++;\r\n }\r\n return result;\r\n }\r\n\r\n function writeUTFBytes(view, offset, string) {\r\n var lng = string.length;\r\n for (var i = 0; i < lng; i++) {\r\n view.setUint8(offset + i, string.charCodeAt(i));\r\n }\r\n }\r\n\r\n // interleave both channels together\r\n var interleaved;\r\n\r\n if (numberOfAudioChannels === 2) {\r\n interleaved = interleave(leftBuffers, rightBuffers);\r\n }\r\n\r\n if (numberOfAudioChannels === 1) {\r\n interleaved = leftBuffers;\r\n }\r\n\r\n var interleavedLength = interleaved.length;\r\n\r\n // create wav file\r\n var resultingBufferLength = 44 + interleavedLength * 2;\r\n\r\n var buffer = new ArrayBuffer(resultingBufferLength);\r\n\r\n var view = new DataView(buffer);\r\n\r\n // RIFF chunk descriptor/identifier \r\n writeUTFBytes(view, 0, 'RIFF');\r\n\r\n // RIFF chunk length\r\n // changed \"44\" to \"36\" via #401\r\n view.setUint32(4, 36 + interleavedLength * 2, true);\r\n\r\n // RIFF type \r\n writeUTFBytes(view, 8, 'WAVE');\r\n\r\n // format chunk identifier \r\n // FMT sub-chunk\r\n writeUTFBytes(view, 12, 'fmt ');\r\n\r\n // format chunk length \r\n view.setUint32(16, 16, true);\r\n\r\n // sample format (raw)\r\n view.setUint16(20, 1, true);\r\n\r\n // stereo (2 channels)\r\n view.setUint16(22, numberOfAudioChannels, true);\r\n\r\n // sample rate \r\n view.setUint32(24, sampleRate, true);\r\n\r\n // byte rate (sample rate * block align)\r\n view.setUint32(28, sampleRate * numberOfAudioChannels * 2, true);\r\n\r\n // block align (channel count * bytes per sample) \r\n view.setUint16(32, numberOfAudioChannels * 2, true);\r\n\r\n // bits per sample \r\n view.setUint16(34, 16, true);\r\n\r\n // data sub-chunk\r\n // data chunk identifier \r\n writeUTFBytes(view, 36, 'data');\r\n\r\n // data chunk length \r\n view.setUint32(40, interleavedLength * 2, true);\r\n\r\n // write the PCM samples\r\n var lng = interleavedLength;\r\n var index = 44;\r\n var volume = 1;\r\n for (var i = 0; i < lng; i++) {\r\n view.setInt16(index, interleaved[i] * (0x7FFF * volume), true);\r\n index += 2;\r\n }\r\n\r\n if (cb) {\r\n return cb({\r\n buffer: buffer,\r\n view: view\r\n });\r\n }\r\n\r\n postMessage({\r\n buffer: buffer,\r\n view: view\r\n });\r\n }\r\n\r\n if (config.noWorker) {\r\n mergeAudioBuffers(config, function(data) {\r\n callback(data.buffer, data.view);\r\n });\r\n return;\r\n }\r\n\r\n\r\n var webWorker = processInWebWorker(mergeAudioBuffers);\r\n\r\n webWorker.onmessage = function(event) {\r\n callback(event.data.buffer, event.data.view);\r\n\r\n // release memory\r\n URL.revokeObjectURL(webWorker.workerURL);\r\n\r\n // kill webworker (or Chrome will kill your page after ~25 calls)\r\n webWorker.terminate();\r\n };\r\n\r\n webWorker.postMessage(config);\r\n }\r\n\r\n function processInWebWorker(_function) {\r\n var workerURL = URL.createObjectURL(new Blob([_function.toString(),\r\n ';this.onmessage = function (eee) {' + _function.name + '(eee.data);}'\r\n ], {\r\n type: 'application/javascript'\r\n }));\r\n\r\n var worker = new Worker(workerURL);\r\n worker.workerURL = workerURL;\r\n return worker;\r\n }\r\n\r\n /**\r\n * This method stops recording MediaStream.\r\n * @param {function} callback - Callback function, that is used to pass recorded blob back to the callee.\r\n * @method\r\n * @memberof StereoAudioRecorder\r\n * @example\r\n * recorder.stop(function(blob) {\r\n * video.src = URL.createObjectURL(blob);\r\n * });\r\n */\r\n this.stop = function(callback) {\r\n callback = callback || function() {};\r\n\r\n // stop recording\r\n recording = false;\r\n\r\n mergeLeftRightBuffers({\r\n desiredSampRate: desiredSampRate,\r\n sampleRate: sampleRate,\r\n numberOfAudioChannels: numberOfAudioChannels,\r\n internalInterleavedLength: recordingLength,\r\n leftBuffers: leftchannel,\r\n rightBuffers: numberOfAudioChannels === 1 ? [] : rightchannel,\r\n noWorker: config.noWorker\r\n }, function(buffer, view) {\r\n /**\r\n * @property {Blob} blob - The recorded blob object.\r\n * @memberof StereoAudioRecorder\r\n * @example\r\n * recorder.stop(function(){\r\n * var blob = recorder.blob;\r\n * });\r\n */\r\n self.blob = new Blob([view], {\r\n type: 'audio/wav'\r\n });\r\n\r\n /**\r\n * @property {ArrayBuffer} buffer - The recorded buffer object.\r\n * @memberof StereoAudioRecorder\r\n * @example\r\n * recorder.stop(function(){\r\n * var buffer = recorder.buffer;\r\n * });\r\n */\r\n self.buffer = new ArrayBuffer(view.buffer.byteLength);\r\n\r\n /**\r\n * @property {DataView} view - The recorded data-view object.\r\n * @memberof StereoAudioRecorder\r\n * @example\r\n * recorder.stop(function(){\r\n * var view = recorder.view;\r\n * });\r\n */\r\n self.view = view;\r\n\r\n self.sampleRate = desiredSampRate || sampleRate;\r\n self.bufferSize = bufferSize;\r\n\r\n // recorded audio length\r\n self.length = recordingLength;\r\n\r\n isAudioProcessStarted = false;\r\n\r\n if (callback) {\r\n callback(self.blob);\r\n }\r\n });\r\n };\r\n\r\n if (typeof RecordRTC.Storage === 'undefined') {\r\n RecordRTC.Storage = {\r\n AudioContextConstructor: null,\r\n AudioContext: window.AudioContext || window.webkitAudioContext\r\n };\r\n }\r\n\r\n if (!RecordRTC.Storage.AudioContextConstructor || RecordRTC.Storage.AudioContextConstructor.state === 'closed') {\r\n RecordRTC.Storage.AudioContextConstructor = new RecordRTC.Storage.AudioContext();\r\n }\r\n\r\n var context = RecordRTC.Storage.AudioContextConstructor;\r\n\r\n // creates an audio node from the microphone incoming stream\r\n var audioInput = context.createMediaStreamSource(mediaStream);\r\n\r\n var legalBufferValues = [0, 256, 512, 1024, 2048, 4096, 8192, 16384];\r\n\r\n /**\r\n * From the spec: This value controls how frequently the audioprocess event is\r\n * dispatched and how many sample-frames need to be processed each call.\r\n * Lower values for buffer size will result in a lower (better) latency.\r\n * Higher values will be necessary to avoid audio breakup and glitches\r\n * The size of the buffer (in sample-frames) which needs to\r\n * be processed each time onprocessaudio is called.\r\n * Legal values are (256, 512, 1024, 2048, 4096, 8192, 16384).\r\n * @property {number} bufferSize - Buffer-size for how frequently the audioprocess event is dispatched.\r\n * @memberof StereoAudioRecorder\r\n * @example\r\n * recorder = new StereoAudioRecorder(mediaStream, {\r\n * bufferSize: 4096\r\n * });\r\n */\r\n\r\n // \"0\" means, let chrome decide the most accurate buffer-size for current platform.\r\n var bufferSize = typeof config.bufferSize === 'undefined' ? 4096 : config.bufferSize;\r\n\r\n if (legalBufferValues.indexOf(bufferSize) === -1) {\r\n if (!config.disableLogs) {\r\n console.log('Legal values for buffer-size are ' + JSON.stringify(legalBufferValues, null, '\\t'));\r\n }\r\n }\r\n\r\n if (context.createJavaScriptNode) {\r\n jsAudioNode = context.createJavaScriptNode(bufferSize, numberOfAudioChannels, numberOfAudioChannels);\r\n } else if (context.createScriptProcessor) {\r\n jsAudioNode = context.createScriptProcessor(bufferSize, numberOfAudioChannels, numberOfAudioChannels);\r\n } else {\r\n throw 'WebAudio API has no support on this browser.';\r\n }\r\n\r\n // connect the stream to the script processor\r\n audioInput.connect(jsAudioNode);\r\n\r\n if (!config.bufferSize) {\r\n bufferSize = jsAudioNode.bufferSize; // device buffer-size\r\n }\r\n\r\n /**\r\n * The sample rate (in sample-frames per second) at which the\r\n * AudioContext handles audio. It is assumed that all AudioNodes\r\n * in the context run at this rate. In making this assumption,\r\n * sample-rate converters or \"varispeed\" processors are not supported\r\n * in real-time processing.\r\n * The sampleRate parameter describes the sample-rate of the\r\n * linear PCM audio data in the buffer in sample-frames per second.\r\n * An implementation must support sample-rates in at least\r\n * the range 22050 to 96000.\r\n * @property {number} sampleRate - Buffer-size for how frequently the audioprocess event is dispatched.\r\n * @memberof StereoAudioRecorder\r\n * @example\r\n * recorder = new StereoAudioRecorder(mediaStream, {\r\n * sampleRate: 44100\r\n * });\r\n */\r\n var sampleRate = typeof config.sampleRate !== 'undefined' ? config.sampleRate : context.sampleRate || 44100;\r\n\r\n if (sampleRate < 22050 || sampleRate > 96000) {\r\n // Ref: http://stackoverflow.com/a/26303918/552182\r\n if (!config.disableLogs) {\r\n console.log('sample-rate must be under range 22050 and 96000.');\r\n }\r\n }\r\n\r\n if (!config.disableLogs) {\r\n if (config.desiredSampRate) {\r\n console.log('Desired sample-rate: ' + config.desiredSampRate);\r\n }\r\n }\r\n\r\n var isPaused = false;\r\n /**\r\n * This method pauses the recording process.\r\n * @method\r\n * @memberof StereoAudioRecorder\r\n * @example\r\n * recorder.pause();\r\n */\r\n this.pause = function() {\r\n isPaused = true;\r\n };\r\n\r\n /**\r\n * This method resumes the recording process.\r\n * @method\r\n * @memberof StereoAudioRecorder\r\n * @example\r\n * recorder.resume();\r\n */\r\n this.resume = function() {\r\n if (isMediaStreamActive() === false) {\r\n throw 'Please make sure MediaStream is active.';\r\n }\r\n\r\n if (!recording) {\r\n if (!config.disableLogs) {\r\n console.log('Seems recording has been restarted.');\r\n }\r\n this.record();\r\n return;\r\n }\r\n\r\n isPaused = false;\r\n };\r\n\r\n /**\r\n * This method resets currently recorded data.\r\n * @method\r\n * @memberof StereoAudioRecorder\r\n * @example\r\n * recorder.clearRecordedData();\r\n */\r\n this.clearRecordedData = function() {\r\n config.checkForInactiveTracks = false;\r\n\r\n if (recording) {\r\n this.stop(clearRecordedDataCB);\r\n }\r\n\r\n clearRecordedDataCB();\r\n };\r\n\r\n function resetVariables() {\r\n leftchannel = [];\r\n rightchannel = [];\r\n recordingLength = 0;\r\n isAudioProcessStarted = false;\r\n recording = false;\r\n isPaused = false;\r\n context = null;\r\n\r\n self.leftchannel = leftchannel;\r\n self.rightchannel = rightchannel;\r\n self.numberOfAudioChannels = numberOfAudioChannels;\r\n self.desiredSampRate = desiredSampRate;\r\n self.sampleRate = sampleRate;\r\n self.recordingLength = recordingLength;\r\n\r\n intervalsBasedBuffers = {\r\n left: [],\r\n right: [],\r\n recordingLength: 0\r\n };\r\n }\r\n\r\n function clearRecordedDataCB() {\r\n if (jsAudioNode) {\r\n jsAudioNode.onaudioprocess = null;\r\n jsAudioNode.disconnect();\r\n jsAudioNode = null;\r\n }\r\n\r\n if (audioInput) {\r\n audioInput.disconnect();\r\n audioInput = null;\r\n }\r\n\r\n resetVariables();\r\n }\r\n\r\n // for debugging\r\n this.name = 'StereoAudioRecorder';\r\n this.toString = function() {\r\n return this.name;\r\n };\r\n\r\n var isAudioProcessStarted = false;\r\n\r\n function onAudioProcessDataAvailable(e) {\r\n if (isPaused) {\r\n return;\r\n }\r\n\r\n if (isMediaStreamActive() === false) {\r\n if (!config.disableLogs) {\r\n console.log('MediaStream seems stopped.');\r\n }\r\n jsAudioNode.disconnect();\r\n recording = false;\r\n }\r\n\r\n if (!recording) {\r\n if (audioInput) {\r\n audioInput.disconnect();\r\n audioInput = null;\r\n }\r\n return;\r\n }\r\n\r\n /**\r\n * This method is called on \"onaudioprocess\" event's first invocation.\r\n * @method {function} onAudioProcessStarted\r\n * @memberof StereoAudioRecorder\r\n * @example\r\n * recorder.onAudioProcessStarted: function() { };\r\n */\r\n if (!isAudioProcessStarted) {\r\n isAudioProcessStarted = true;\r\n if (config.onAudioProcessStarted) {\r\n config.onAudioProcessStarted();\r\n }\r\n\r\n if (config.initCallback) {\r\n config.initCallback();\r\n }\r\n }\r\n\r\n var left = e.inputBuffer.getChannelData(0);\r\n\r\n // we clone the samples\r\n var chLeft = new Float32Array(left);\r\n leftchannel.push(chLeft);\r\n\r\n if (numberOfAudioChannels === 2) {\r\n var right = e.inputBuffer.getChannelData(1);\r\n var chRight = new Float32Array(right);\r\n rightchannel.push(chRight);\r\n }\r\n\r\n recordingLength += bufferSize;\r\n\r\n // export raw PCM\r\n self.recordingLength = recordingLength;\r\n\r\n if (typeof config.timeSlice !== 'undefined') {\r\n intervalsBasedBuffers.recordingLength += bufferSize;\r\n intervalsBasedBuffers.left.push(chLeft);\r\n\r\n if (numberOfAudioChannels === 2) {\r\n intervalsBasedBuffers.right.push(chRight);\r\n }\r\n }\r\n }\r\n\r\n jsAudioNode.onaudioprocess = onAudioProcessDataAvailable;\r\n\r\n // to prevent self audio to be connected with speakers\r\n if (context.createMediaStreamDestination) {\r\n jsAudioNode.connect(context.createMediaStreamDestination());\r\n } else {\r\n jsAudioNode.connect(context.destination);\r\n }\r\n\r\n // export raw PCM\r\n this.leftchannel = leftchannel;\r\n this.rightchannel = rightchannel;\r\n this.numberOfAudioChannels = numberOfAudioChannels;\r\n this.desiredSampRate = desiredSampRate;\r\n this.sampleRate = sampleRate;\r\n self.recordingLength = recordingLength;\r\n\r\n // helper for intervals based blobs\r\n var intervalsBasedBuffers = {\r\n left: [],\r\n right: [],\r\n recordingLength: 0\r\n };\r\n\r\n // this looper is used to support intervals based blobs (via timeSlice+ondataavailable)\r\n function looper() {\r\n if (!recording || typeof config.ondataavailable !== 'function' || typeof config.timeSlice === 'undefined') {\r\n return;\r\n }\r\n\r\n if (intervalsBasedBuffers.left.length) {\r\n mergeLeftRightBuffers({\r\n desiredSampRate: desiredSampRate,\r\n sampleRate: sampleRate,\r\n numberOfAudioChannels: numberOfAudioChannels,\r\n internalInterleavedLength: intervalsBasedBuffers.recordingLength,\r\n leftBuffers: intervalsBasedBuffers.left,\r\n rightBuffers: numberOfAudioChannels === 1 ? [] : intervalsBasedBuffers.right\r\n }, function(buffer, view) {\r\n var blob = new Blob([view], {\r\n type: 'audio/wav'\r\n });\r\n config.ondataavailable(blob);\r\n\r\n setTimeout(looper, config.timeSlice);\r\n });\r\n\r\n intervalsBasedBuffers = {\r\n left: [],\r\n right: [],\r\n recordingLength: 0\r\n };\r\n } else {\r\n setTimeout(looper, config.timeSlice);\r\n }\r\n }\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n RecordRTC.StereoAudioRecorder = StereoAudioRecorder;\r\n}\r\n\r\n// _________________\r\n// CanvasRecorder.js\r\n\r\n/**\r\n * CanvasRecorder is a standalone class used by {@link RecordRTC} to bring HTML5-Canvas recording into video WebM. It uses HTML2Canvas library and runs top over {@link Whammy}.\r\n * @summary HTML2Canvas recording into video WebM.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef CanvasRecorder\r\n * @class\r\n * @example\r\n * var recorder = new CanvasRecorder(htmlElement, { disableLogs: true, useWhammyRecorder: true });\r\n * recorder.record();\r\n * recorder.stop(function(blob) {\r\n * video.src = URL.createObjectURL(blob);\r\n * });\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {HTMLElement} htmlElement - querySelector/getElementById/getElementsByTagName[0]/etc.\r\n * @param {object} config - {disableLogs:true, initCallback: function}\r\n */\r\n\r\nfunction CanvasRecorder(htmlElement, config) {\r\n if (typeof html2canvas === 'undefined') {\r\n throw 'Please link: https://www.webrtc-experiment.com/screenshot.js';\r\n }\r\n\r\n config = config || {};\r\n if (!config.frameInterval) {\r\n config.frameInterval = 10;\r\n }\r\n\r\n // via DetectRTC.js\r\n var isCanvasSupportsStreamCapturing = false;\r\n ['captureStream', 'mozCaptureStream', 'webkitCaptureStream'].forEach(function(item) {\r\n if (item in document.createElement('canvas')) {\r\n isCanvasSupportsStreamCapturing = true;\r\n }\r\n });\r\n\r\n var _isChrome = (!!window.webkitRTCPeerConnection || !!window.webkitGetUserMedia) && !!window.chrome;\r\n\r\n var chromeVersion = 50;\r\n var matchArray = navigator.userAgent.match(/Chrom(e|ium)\\/([0-9]+)\\./);\r\n if (_isChrome && matchArray && matchArray[2]) {\r\n chromeVersion = parseInt(matchArray[2], 10);\r\n }\r\n\r\n if (_isChrome && chromeVersion < 52) {\r\n isCanvasSupportsStreamCapturing = false;\r\n }\r\n\r\n if (config.useWhammyRecorder) {\r\n isCanvasSupportsStreamCapturing = false;\r\n }\r\n\r\n var globalCanvas, mediaStreamRecorder;\r\n\r\n if (isCanvasSupportsStreamCapturing) {\r\n if (!config.disableLogs) {\r\n console.log('Your browser supports both MediRecorder API and canvas.captureStream!');\r\n }\r\n\r\n if (htmlElement instanceof HTMLCanvasElement) {\r\n globalCanvas = htmlElement;\r\n } else if (htmlElement instanceof CanvasRenderingContext2D) {\r\n globalCanvas = htmlElement.canvas;\r\n } else {\r\n throw 'Please pass either HTMLCanvasElement or CanvasRenderingContext2D.';\r\n }\r\n } else if (!!navigator.mozGetUserMedia) {\r\n if (!config.disableLogs) {\r\n console.error('Canvas recording is NOT supported in Firefox.');\r\n }\r\n }\r\n\r\n var isRecording;\r\n\r\n /**\r\n * This method records Canvas.\r\n * @method\r\n * @memberof CanvasRecorder\r\n * @example\r\n * recorder.record();\r\n */\r\n this.record = function() {\r\n isRecording = true;\r\n\r\n if (isCanvasSupportsStreamCapturing && !config.useWhammyRecorder) {\r\n // CanvasCaptureMediaStream\r\n var canvasMediaStream;\r\n if ('captureStream' in globalCanvas) {\r\n canvasMediaStream = globalCanvas.captureStream(25); // 25 FPS\r\n } else if ('mozCaptureStream' in globalCanvas) {\r\n canvasMediaStream = globalCanvas.mozCaptureStream(25);\r\n } else if ('webkitCaptureStream' in globalCanvas) {\r\n canvasMediaStream = globalCanvas.webkitCaptureStream(25);\r\n }\r\n\r\n try {\r\n var mdStream = new MediaStream();\r\n mdStream.addTrack(getTracks(canvasMediaStream, 'video')[0]);\r\n canvasMediaStream = mdStream;\r\n } catch (e) {}\r\n\r\n if (!canvasMediaStream) {\r\n throw 'captureStream API are NOT available.';\r\n }\r\n\r\n // Note: Jan 18, 2016 status is that, \r\n // Firefox MediaRecorder API can't record CanvasCaptureMediaStream object.\r\n mediaStreamRecorder = new MediaStreamRecorder(canvasMediaStream, {\r\n mimeType: config.mimeType || 'video/webm'\r\n });\r\n mediaStreamRecorder.record();\r\n } else {\r\n whammy.frames = [];\r\n lastTime = new Date().getTime();\r\n drawCanvasFrame();\r\n }\r\n\r\n if (config.initCallback) {\r\n config.initCallback();\r\n }\r\n };\r\n\r\n this.getWebPImages = function(callback) {\r\n if (htmlElement.nodeName.toLowerCase() !== 'canvas') {\r\n callback();\r\n return;\r\n }\r\n\r\n var framesLength = whammy.frames.length;\r\n whammy.frames.forEach(function(frame, idx) {\r\n var framesRemaining = framesLength - idx;\r\n if (!config.disableLogs) {\r\n console.log(framesRemaining + '/' + framesLength + ' frames remaining');\r\n }\r\n\r\n if (config.onEncodingCallback) {\r\n config.onEncodingCallback(framesRemaining, framesLength);\r\n }\r\n\r\n var webp = frame.image.toDataURL('image/webp', 1);\r\n whammy.frames[idx].image = webp;\r\n });\r\n\r\n if (!config.disableLogs) {\r\n console.log('Generating WebM');\r\n }\r\n\r\n callback();\r\n };\r\n\r\n /**\r\n * This method stops recording Canvas.\r\n * @param {function} callback - Callback function, that is used to pass recorded blob back to the callee.\r\n * @method\r\n * @memberof CanvasRecorder\r\n * @example\r\n * recorder.stop(function(blob) {\r\n * video.src = URL.createObjectURL(blob);\r\n * });\r\n */\r\n this.stop = function(callback) {\r\n isRecording = false;\r\n\r\n var that = this;\r\n\r\n if (isCanvasSupportsStreamCapturing && mediaStreamRecorder) {\r\n mediaStreamRecorder.stop(callback);\r\n return;\r\n }\r\n\r\n this.getWebPImages(function() {\r\n /**\r\n * @property {Blob} blob - Recorded frames in video/webm blob.\r\n * @memberof CanvasRecorder\r\n * @example\r\n * recorder.stop(function() {\r\n * var blob = recorder.blob;\r\n * });\r\n */\r\n whammy.compile(function(blob) {\r\n if (!config.disableLogs) {\r\n console.log('Recording finished!');\r\n }\r\n\r\n that.blob = blob;\r\n\r\n if (that.blob.forEach) {\r\n that.blob = new Blob([], {\r\n type: 'video/webm'\r\n });\r\n }\r\n\r\n if (callback) {\r\n callback(that.blob);\r\n }\r\n\r\n whammy.frames = [];\r\n });\r\n });\r\n };\r\n\r\n var isPausedRecording = false;\r\n\r\n /**\r\n * This method pauses the recording process.\r\n * @method\r\n * @memberof CanvasRecorder\r\n * @example\r\n * recorder.pause();\r\n */\r\n this.pause = function() {\r\n isPausedRecording = true;\r\n\r\n if (mediaStreamRecorder instanceof MediaStreamRecorder) {\r\n mediaStreamRecorder.pause();\r\n return;\r\n }\r\n };\r\n\r\n /**\r\n * This method resumes the recording process.\r\n * @method\r\n * @memberof CanvasRecorder\r\n * @example\r\n * recorder.resume();\r\n */\r\n this.resume = function() {\r\n isPausedRecording = false;\r\n\r\n if (mediaStreamRecorder instanceof MediaStreamRecorder) {\r\n mediaStreamRecorder.resume();\r\n return;\r\n }\r\n\r\n if (!isRecording) {\r\n this.record();\r\n }\r\n };\r\n\r\n /**\r\n * This method resets currently recorded data.\r\n * @method\r\n * @memberof CanvasRecorder\r\n * @example\r\n * recorder.clearRecordedData();\r\n */\r\n this.clearRecordedData = function() {\r\n if (isRecording) {\r\n this.stop(clearRecordedDataCB);\r\n }\r\n clearRecordedDataCB();\r\n };\r\n\r\n function clearRecordedDataCB() {\r\n whammy.frames = [];\r\n isRecording = false;\r\n isPausedRecording = false;\r\n }\r\n\r\n // for debugging\r\n this.name = 'CanvasRecorder';\r\n this.toString = function() {\r\n return this.name;\r\n };\r\n\r\n function cloneCanvas() {\r\n //create a new canvas\r\n var newCanvas = document.createElement('canvas');\r\n var context = newCanvas.getContext('2d');\r\n\r\n //set dimensions\r\n newCanvas.width = htmlElement.width;\r\n newCanvas.height = htmlElement.height;\r\n\r\n //apply the old canvas to the new one\r\n context.drawImage(htmlElement, 0, 0);\r\n\r\n //return the new canvas\r\n return newCanvas;\r\n }\r\n\r\n function drawCanvasFrame() {\r\n if (isPausedRecording) {\r\n lastTime = new Date().getTime();\r\n return setTimeout(drawCanvasFrame, 500);\r\n }\r\n\r\n if (htmlElement.nodeName.toLowerCase() === 'canvas') {\r\n var duration = new Date().getTime() - lastTime;\r\n // via #206, by Jack i.e. @Seymourr\r\n lastTime = new Date().getTime();\r\n\r\n whammy.frames.push({\r\n image: cloneCanvas(),\r\n duration: duration\r\n });\r\n\r\n if (isRecording) {\r\n setTimeout(drawCanvasFrame, config.frameInterval);\r\n }\r\n return;\r\n }\r\n\r\n html2canvas(htmlElement, {\r\n grabMouse: typeof config.showMousePointer === 'undefined' || config.showMousePointer,\r\n onrendered: function(canvas) {\r\n var duration = new Date().getTime() - lastTime;\r\n if (!duration) {\r\n return setTimeout(drawCanvasFrame, config.frameInterval);\r\n }\r\n\r\n // via #206, by Jack i.e. @Seymourr\r\n lastTime = new Date().getTime();\r\n\r\n whammy.frames.push({\r\n image: canvas.toDataURL('image/webp', 1),\r\n duration: duration\r\n });\r\n\r\n if (isRecording) {\r\n setTimeout(drawCanvasFrame, config.frameInterval);\r\n }\r\n }\r\n });\r\n }\r\n\r\n var lastTime = new Date().getTime();\r\n\r\n var whammy = new Whammy.Video(100);\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n RecordRTC.CanvasRecorder = CanvasRecorder;\r\n}\n\r\n// _________________\r\n// WhammyRecorder.js\r\n\r\n/**\r\n * WhammyRecorder is a standalone class used by {@link RecordRTC} to bring video recording in Chrome. It runs top over {@link Whammy}.\r\n * @summary Video recording feature in Chrome.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef WhammyRecorder\r\n * @class\r\n * @example\r\n * var recorder = new WhammyRecorder(mediaStream);\r\n * recorder.record();\r\n * recorder.stop(function(blob) {\r\n * video.src = URL.createObjectURL(blob);\r\n * });\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.\r\n * @param {object} config - {disableLogs: true, initCallback: function, video: HTMLVideoElement, etc.}\r\n */\r\n\r\nfunction WhammyRecorder(mediaStream, config) {\r\n\r\n config = config || {};\r\n\r\n if (!config.frameInterval) {\r\n config.frameInterval = 10;\r\n }\r\n\r\n if (!config.disableLogs) {\r\n console.log('Using frames-interval:', config.frameInterval);\r\n }\r\n\r\n /**\r\n * This method records video.\r\n * @method\r\n * @memberof WhammyRecorder\r\n * @example\r\n * recorder.record();\r\n */\r\n this.record = function() {\r\n if (!config.width) {\r\n config.width = 320;\r\n }\r\n\r\n if (!config.height) {\r\n config.height = 240;\r\n }\r\n\r\n if (!config.video) {\r\n config.video = {\r\n width: config.width,\r\n height: config.height\r\n };\r\n }\r\n\r\n if (!config.canvas) {\r\n config.canvas = {\r\n width: config.width,\r\n height: config.height\r\n };\r\n }\r\n\r\n canvas.width = config.canvas.width || 320;\r\n canvas.height = config.canvas.height || 240;\r\n\r\n context = canvas.getContext('2d');\r\n\r\n // setting defaults\r\n if (config.video && config.video instanceof HTMLVideoElement) {\r\n video = config.video.cloneNode();\r\n\r\n if (config.initCallback) {\r\n config.initCallback();\r\n }\r\n } else {\r\n video = document.createElement('video');\r\n\r\n setSrcObject(mediaStream, video);\r\n\r\n video.onloadedmetadata = function() { // \"onloadedmetadata\" may NOT work in FF?\r\n if (config.initCallback) {\r\n config.initCallback();\r\n }\r\n };\r\n\r\n video.width = config.video.width;\r\n video.height = config.video.height;\r\n }\r\n\r\n video.muted = true;\r\n video.play();\r\n\r\n lastTime = new Date().getTime();\r\n whammy = new Whammy.Video();\r\n\r\n if (!config.disableLogs) {\r\n console.log('canvas resolutions', canvas.width, '*', canvas.height);\r\n console.log('video width/height', video.width || canvas.width, '*', video.height || canvas.height);\r\n }\r\n\r\n drawFrames(config.frameInterval);\r\n };\r\n\r\n /**\r\n * Draw and push frames to Whammy\r\n * @param {integer} frameInterval - set minimum interval (in milliseconds) between each time we push a frame to Whammy\r\n */\r\n function drawFrames(frameInterval) {\r\n frameInterval = typeof frameInterval !== 'undefined' ? frameInterval : 10;\r\n\r\n var duration = new Date().getTime() - lastTime;\r\n if (!duration) {\r\n return setTimeout(drawFrames, frameInterval, frameInterval);\r\n }\r\n\r\n if (isPausedRecording) {\r\n lastTime = new Date().getTime();\r\n return setTimeout(drawFrames, 100);\r\n }\r\n\r\n // via #206, by Jack i.e. @Seymourr\r\n lastTime = new Date().getTime();\r\n\r\n if (video.paused) {\r\n // via: https://github.com/muaz-khan/WebRTC-Experiment/pull/316\r\n // Tweak for Android Chrome\r\n video.play();\r\n }\r\n\r\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\r\n whammy.frames.push({\r\n duration: duration,\r\n image: canvas.toDataURL('image/webp')\r\n });\r\n\r\n if (!isStopDrawing) {\r\n setTimeout(drawFrames, frameInterval, frameInterval);\r\n }\r\n }\r\n\r\n function asyncLoop(o) {\r\n var i = -1,\r\n length = o.length;\r\n\r\n (function loop() {\r\n i++;\r\n if (i === length) {\r\n o.callback();\r\n return;\r\n }\r\n\r\n // \"setTimeout\" added by Jim McLeod\r\n setTimeout(function() {\r\n o.functionToLoop(loop, i);\r\n }, 1);\r\n })();\r\n }\r\n\r\n\r\n /**\r\n * remove black frames from the beginning to the specified frame\r\n * @param {Array} _frames - array of frames to be checked\r\n * @param {number} _framesToCheck - number of frame until check will be executed (-1 - will drop all frames until frame not matched will be found)\r\n * @param {number} _pixTolerance - 0 - very strict (only black pixel color) ; 1 - all\r\n * @param {number} _frameTolerance - 0 - very strict (only black frame color) ; 1 - all\r\n * @returns {Array} - array of frames\r\n */\r\n // pull#293 by @volodalexey\r\n function dropBlackFrames(_frames, _framesToCheck, _pixTolerance, _frameTolerance, callback) {\r\n var localCanvas = document.createElement('canvas');\r\n localCanvas.width = canvas.width;\r\n localCanvas.height = canvas.height;\r\n var context2d = localCanvas.getContext('2d');\r\n var resultFrames = [];\r\n\r\n var checkUntilNotBlack = _framesToCheck === -1;\r\n var endCheckFrame = (_framesToCheck && _framesToCheck > 0 && _framesToCheck <= _frames.length) ?\r\n _framesToCheck : _frames.length;\r\n var sampleColor = {\r\n r: 0,\r\n g: 0,\r\n b: 0\r\n };\r\n var maxColorDifference = Math.sqrt(\r\n Math.pow(255, 2) +\r\n Math.pow(255, 2) +\r\n Math.pow(255, 2)\r\n );\r\n var pixTolerance = _pixTolerance && _pixTolerance >= 0 && _pixTolerance <= 1 ? _pixTolerance : 0;\r\n var frameTolerance = _frameTolerance && _frameTolerance >= 0 && _frameTolerance <= 1 ? _frameTolerance : 0;\r\n var doNotCheckNext = false;\r\n\r\n asyncLoop({\r\n length: endCheckFrame,\r\n functionToLoop: function(loop, f) {\r\n var matchPixCount, endPixCheck, maxPixCount;\r\n\r\n var finishImage = function() {\r\n if (!doNotCheckNext && maxPixCount - matchPixCount <= maxPixCount * frameTolerance) {\r\n // console.log('removed black frame : ' + f + ' ; frame duration ' + _frames[f].duration);\r\n } else {\r\n // console.log('frame is passed : ' + f);\r\n if (checkUntilNotBlack) {\r\n doNotCheckNext = true;\r\n }\r\n resultFrames.push(_frames[f]);\r\n }\r\n loop();\r\n };\r\n\r\n if (!doNotCheckNext) {\r\n var image = new Image();\r\n image.onload = function() {\r\n context2d.drawImage(image, 0, 0, canvas.width, canvas.height);\r\n var imageData = context2d.getImageData(0, 0, canvas.width, canvas.height);\r\n matchPixCount = 0;\r\n endPixCheck = imageData.data.length;\r\n maxPixCount = imageData.data.length / 4;\r\n\r\n for (var pix = 0; pix < endPixCheck; pix += 4) {\r\n var currentColor = {\r\n r: imageData.data[pix],\r\n g: imageData.data[pix + 1],\r\n b: imageData.data[pix + 2]\r\n };\r\n var colorDifference = Math.sqrt(\r\n Math.pow(currentColor.r - sampleColor.r, 2) +\r\n Math.pow(currentColor.g - sampleColor.g, 2) +\r\n Math.pow(currentColor.b - sampleColor.b, 2)\r\n );\r\n // difference in color it is difference in color vectors (r1,g1,b1) <=> (r2,g2,b2)\r\n if (colorDifference <= maxColorDifference * pixTolerance) {\r\n matchPixCount++;\r\n }\r\n }\r\n finishImage();\r\n };\r\n image.src = _frames[f].image;\r\n } else {\r\n finishImage();\r\n }\r\n },\r\n callback: function() {\r\n resultFrames = resultFrames.concat(_frames.slice(endCheckFrame));\r\n\r\n if (resultFrames.length <= 0) {\r\n // at least one last frame should be available for next manipulation\r\n // if total duration of all frames will be < 1000 than ffmpeg doesn't work well...\r\n resultFrames.push(_frames[_frames.length - 1]);\r\n }\r\n callback(resultFrames);\r\n }\r\n });\r\n }\r\n\r\n var isStopDrawing = false;\r\n\r\n /**\r\n * This method stops recording video.\r\n * @param {function} callback - Callback function, that is used to pass recorded blob back to the callee.\r\n * @method\r\n * @memberof WhammyRecorder\r\n * @example\r\n * recorder.stop(function(blob) {\r\n * video.src = URL.createObjectURL(blob);\r\n * });\r\n */\r\n this.stop = function(callback) {\r\n callback = callback || function() {};\r\n\r\n isStopDrawing = true;\r\n\r\n var _this = this;\r\n // analyse of all frames takes some time!\r\n setTimeout(function() {\r\n // e.g. dropBlackFrames(frames, 10, 1, 1) - will cut all 10 frames\r\n // e.g. dropBlackFrames(frames, 10, 0.5, 0.5) - will analyse 10 frames\r\n // e.g. dropBlackFrames(frames, 10) === dropBlackFrames(frames, 10, 0, 0) - will analyse 10 frames with strict black color\r\n dropBlackFrames(whammy.frames, -1, null, null, function(frames) {\r\n whammy.frames = frames;\r\n\r\n // to display advertisement images!\r\n if (config.advertisement && config.advertisement.length) {\r\n whammy.frames = config.advertisement.concat(whammy.frames);\r\n }\r\n\r\n /**\r\n * @property {Blob} blob - Recorded frames in video/webm blob.\r\n * @memberof WhammyRecorder\r\n * @example\r\n * recorder.stop(function() {\r\n * var blob = recorder.blob;\r\n * });\r\n */\r\n whammy.compile(function(blob) {\r\n _this.blob = blob;\r\n\r\n if (_this.blob.forEach) {\r\n _this.blob = new Blob([], {\r\n type: 'video/webm'\r\n });\r\n }\r\n\r\n if (callback) {\r\n callback(_this.blob);\r\n }\r\n });\r\n });\r\n }, 10);\r\n };\r\n\r\n var isPausedRecording = false;\r\n\r\n /**\r\n * This method pauses the recording process.\r\n * @method\r\n * @memberof WhammyRecorder\r\n * @example\r\n * recorder.pause();\r\n */\r\n this.pause = function() {\r\n isPausedRecording = true;\r\n };\r\n\r\n /**\r\n * This method resumes the recording process.\r\n * @method\r\n * @memberof WhammyRecorder\r\n * @example\r\n * recorder.resume();\r\n */\r\n this.resume = function() {\r\n isPausedRecording = false;\r\n\r\n if (isStopDrawing) {\r\n this.record();\r\n }\r\n };\r\n\r\n /**\r\n * This method resets currently recorded data.\r\n * @method\r\n * @memberof WhammyRecorder\r\n * @example\r\n * recorder.clearRecordedData();\r\n */\r\n this.clearRecordedData = function() {\r\n if (!isStopDrawing) {\r\n this.stop(clearRecordedDataCB);\r\n }\r\n clearRecordedDataCB();\r\n };\r\n\r\n function clearRecordedDataCB() {\r\n whammy.frames = [];\r\n isStopDrawing = true;\r\n isPausedRecording = false;\r\n }\r\n\r\n // for debugging\r\n this.name = 'WhammyRecorder';\r\n this.toString = function() {\r\n return this.name;\r\n };\r\n\r\n var canvas = document.createElement('canvas');\r\n var context = canvas.getContext('2d');\r\n\r\n var video;\r\n var lastTime;\r\n var whammy;\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n RecordRTC.WhammyRecorder = WhammyRecorder;\r\n}\n\r\n// https://github.com/antimatter15/whammy/blob/master/LICENSE\r\n// _________\r\n// Whammy.js\r\n\r\n// todo: Firefox now supports webp for webm containers!\r\n// their MediaRecorder implementation works well!\r\n// should we provide an option to record via Whammy.js or MediaRecorder API is a better solution?\r\n\r\n/**\r\n * Whammy is a standalone class used by {@link RecordRTC} to bring video recording in Chrome. It is written by {@link https://github.com/antimatter15|antimatter15}\r\n * @summary A real time javascript webm encoder based on a canvas hack.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef Whammy\r\n * @class\r\n * @example\r\n * var recorder = new Whammy().Video(15);\r\n * recorder.add(context || canvas || dataURL);\r\n * var output = recorder.compile();\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n */\r\n\r\nvar Whammy = (function() {\r\n // a more abstract-ish API\r\n\r\n function WhammyVideo(duration) {\r\n this.frames = [];\r\n this.duration = duration || 1;\r\n this.quality = 0.8;\r\n }\r\n\r\n /**\r\n * Pass Canvas or Context or image/webp(string) to {@link Whammy} encoder.\r\n * @method\r\n * @memberof Whammy\r\n * @example\r\n * recorder = new Whammy().Video(0.8, 100);\r\n * recorder.add(canvas || context || 'image/webp');\r\n * @param {string} frame - Canvas || Context || image/webp\r\n * @param {number} duration - Stick a duration (in milliseconds)\r\n */\r\n WhammyVideo.prototype.add = function(frame, duration) {\r\n if ('canvas' in frame) { //CanvasRenderingContext2D\r\n frame = frame.canvas;\r\n }\r\n\r\n if ('toDataURL' in frame) {\r\n frame = frame.toDataURL('image/webp', this.quality);\r\n }\r\n\r\n if (!(/^data:image\\/webp;base64,/ig).test(frame)) {\r\n throw 'Input must be formatted properly as a base64 encoded DataURI of type image/webp';\r\n }\r\n this.frames.push({\r\n image: frame,\r\n duration: duration || this.duration\r\n });\r\n };\r\n\r\n function processInWebWorker(_function) {\r\n var blob = URL.createObjectURL(new Blob([_function.toString(),\r\n 'this.onmessage = function (eee) {' + _function.name + '(eee.data);}'\r\n ], {\r\n type: 'application/javascript'\r\n }));\r\n\r\n var worker = new Worker(blob);\r\n URL.revokeObjectURL(blob);\r\n return worker;\r\n }\r\n\r\n function whammyInWebWorker(frames) {\r\n function ArrayToWebM(frames) {\r\n var info = checkFrames(frames);\r\n if (!info) {\r\n return [];\r\n }\r\n\r\n var clusterMaxDuration = 30000;\r\n\r\n var EBML = [{\r\n 'id': 0x1a45dfa3, // EBML\r\n 'data': [{\r\n 'data': 1,\r\n 'id': 0x4286 // EBMLVersion\r\n }, {\r\n 'data': 1,\r\n 'id': 0x42f7 // EBMLReadVersion\r\n }, {\r\n 'data': 4,\r\n 'id': 0x42f2 // EBMLMaxIDLength\r\n }, {\r\n 'data': 8,\r\n 'id': 0x42f3 // EBMLMaxSizeLength\r\n }, {\r\n 'data': 'webm',\r\n 'id': 0x4282 // DocType\r\n }, {\r\n 'data': 2,\r\n 'id': 0x4287 // DocTypeVersion\r\n }, {\r\n 'data': 2,\r\n 'id': 0x4285 // DocTypeReadVersion\r\n }]\r\n }, {\r\n 'id': 0x18538067, // Segment\r\n 'data': [{\r\n 'id': 0x1549a966, // Info\r\n 'data': [{\r\n 'data': 1e6, //do things in millisecs (num of nanosecs for duration scale)\r\n 'id': 0x2ad7b1 // TimecodeScale\r\n }, {\r\n 'data': 'whammy',\r\n 'id': 0x4d80 // MuxingApp\r\n }, {\r\n 'data': 'whammy',\r\n 'id': 0x5741 // WritingApp\r\n }, {\r\n 'data': doubleToString(info.duration),\r\n 'id': 0x4489 // Duration\r\n }]\r\n }, {\r\n 'id': 0x1654ae6b, // Tracks\r\n 'data': [{\r\n 'id': 0xae, // TrackEntry\r\n 'data': [{\r\n 'data': 1,\r\n 'id': 0xd7 // TrackNumber\r\n }, {\r\n 'data': 1,\r\n 'id': 0x73c5 // TrackUID\r\n }, {\r\n 'data': 0,\r\n 'id': 0x9c // FlagLacing\r\n }, {\r\n 'data': 'und',\r\n 'id': 0x22b59c // Language\r\n }, {\r\n 'data': 'V_VP8',\r\n 'id': 0x86 // CodecID\r\n }, {\r\n 'data': 'VP8',\r\n 'id': 0x258688 // CodecName\r\n }, {\r\n 'data': 1,\r\n 'id': 0x83 // TrackType\r\n }, {\r\n 'id': 0xe0, // Video\r\n 'data': [{\r\n 'data': info.width,\r\n 'id': 0xb0 // PixelWidth\r\n }, {\r\n 'data': info.height,\r\n 'id': 0xba // PixelHeight\r\n }]\r\n }]\r\n }]\r\n }]\r\n }];\r\n\r\n //Generate clusters (max duration)\r\n var frameNumber = 0;\r\n var clusterTimecode = 0;\r\n while (frameNumber < frames.length) {\r\n\r\n var clusterFrames = [];\r\n var clusterDuration = 0;\r\n do {\r\n clusterFrames.push(frames[frameNumber]);\r\n clusterDuration += frames[frameNumber].duration;\r\n frameNumber++;\r\n } while (frameNumber < frames.length && clusterDuration < clusterMaxDuration);\r\n\r\n var clusterCounter = 0;\r\n var cluster = {\r\n 'id': 0x1f43b675, // Cluster\r\n 'data': getClusterData(clusterTimecode, clusterCounter, clusterFrames)\r\n }; //Add cluster to segment\r\n EBML[1].data.push(cluster);\r\n clusterTimecode += clusterDuration;\r\n }\r\n\r\n return generateEBML(EBML);\r\n }\r\n\r\n function getClusterData(clusterTimecode, clusterCounter, clusterFrames) {\r\n return [{\r\n 'data': clusterTimecode,\r\n 'id': 0xe7 // Timecode\r\n }].concat(clusterFrames.map(function(webp) {\r\n var block = makeSimpleBlock({\r\n discardable: 0,\r\n frame: webp.data.slice(4),\r\n invisible: 0,\r\n keyframe: 1,\r\n lacing: 0,\r\n trackNum: 1,\r\n timecode: Math.round(clusterCounter)\r\n });\r\n clusterCounter += webp.duration;\r\n return {\r\n data: block,\r\n id: 0xa3\r\n };\r\n }));\r\n }\r\n\r\n // sums the lengths of all the frames and gets the duration\r\n\r\n function checkFrames(frames) {\r\n if (!frames[0]) {\r\n postMessage({\r\n error: 'Something went wrong. Maybe WebP format is not supported in the current browser.'\r\n });\r\n return;\r\n }\r\n\r\n var width = frames[0].width,\r\n height = frames[0].height,\r\n duration = frames[0].duration;\r\n\r\n for (var i = 1; i < frames.length; i++) {\r\n duration += frames[i].duration;\r\n }\r\n return {\r\n duration: duration,\r\n width: width,\r\n height: height\r\n };\r\n }\r\n\r\n function numToBuffer(num) {\r\n var parts = [];\r\n while (num > 0) {\r\n parts.push(num & 0xff);\r\n num = num >> 8;\r\n }\r\n return new Uint8Array(parts.reverse());\r\n }\r\n\r\n function strToBuffer(str) {\r\n return new Uint8Array(str.split('').map(function(e) {\r\n return e.charCodeAt(0);\r\n }));\r\n }\r\n\r\n function bitsToBuffer(bits) {\r\n var data = [];\r\n var pad = (bits.length % 8) ? (new Array(1 + 8 - (bits.length % 8))).join('0') : '';\r\n bits = pad + bits;\r\n for (var i = 0; i < bits.length; i += 8) {\r\n data.push(parseInt(bits.substr(i, 8), 2));\r\n }\r\n return new Uint8Array(data);\r\n }\r\n\r\n function generateEBML(json) {\r\n var ebml = [];\r\n for (var i = 0; i < json.length; i++) {\r\n var data = json[i].data;\r\n\r\n if (typeof data === 'object') {\r\n data = generateEBML(data);\r\n }\r\n\r\n if (typeof data === 'number') {\r\n data = bitsToBuffer(data.toString(2));\r\n }\r\n\r\n if (typeof data === 'string') {\r\n data = strToBuffer(data);\r\n }\r\n\r\n var len = data.size || data.byteLength || data.length;\r\n var zeroes = Math.ceil(Math.ceil(Math.log(len) / Math.log(2)) / 8);\r\n var sizeToString = len.toString(2);\r\n var padded = (new Array((zeroes * 7 + 7 + 1) - sizeToString.length)).join('0') + sizeToString;\r\n var size = (new Array(zeroes)).join('0') + '1' + padded;\r\n\r\n ebml.push(numToBuffer(json[i].id));\r\n ebml.push(bitsToBuffer(size));\r\n ebml.push(data);\r\n }\r\n\r\n return new Blob(ebml, {\r\n type: 'video/webm'\r\n });\r\n }\r\n\r\n function toBinStrOld(bits) {\r\n var data = '';\r\n var pad = (bits.length % 8) ? (new Array(1 + 8 - (bits.length % 8))).join('0') : '';\r\n bits = pad + bits;\r\n for (var i = 0; i < bits.length; i += 8) {\r\n data += String.fromCharCode(parseInt(bits.substr(i, 8), 2));\r\n }\r\n return data;\r\n }\r\n\r\n function makeSimpleBlock(data) {\r\n var flags = 0;\r\n\r\n if (data.keyframe) {\r\n flags |= 128;\r\n }\r\n\r\n if (data.invisible) {\r\n flags |= 8;\r\n }\r\n\r\n if (data.lacing) {\r\n flags |= (data.lacing << 1);\r\n }\r\n\r\n if (data.discardable) {\r\n flags |= 1;\r\n }\r\n\r\n if (data.trackNum > 127) {\r\n throw 'TrackNumber > 127 not supported';\r\n }\r\n\r\n var out = [data.trackNum | 0x80, data.timecode >> 8, data.timecode & 0xff, flags].map(function(e) {\r\n return String.fromCharCode(e);\r\n }).join('') + data.frame;\r\n\r\n return out;\r\n }\r\n\r\n function parseWebP(riff) {\r\n var VP8 = riff.RIFF[0].WEBP[0];\r\n\r\n var frameStart = VP8.indexOf('\\x9d\\x01\\x2a'); // A VP8 keyframe starts with the 0x9d012a header\r\n for (var i = 0, c = []; i < 4; i++) {\r\n c[i] = VP8.charCodeAt(frameStart + 3 + i);\r\n }\r\n\r\n var width, height, tmp;\r\n\r\n //the code below is literally copied verbatim from the bitstream spec\r\n tmp = (c[1] << 8) | c[0];\r\n width = tmp & 0x3FFF;\r\n tmp = (c[3] << 8) | c[2];\r\n height = tmp & 0x3FFF;\r\n return {\r\n width: width,\r\n height: height,\r\n data: VP8,\r\n riff: riff\r\n };\r\n }\r\n\r\n function getStrLength(string, offset) {\r\n return parseInt(string.substr(offset + 4, 4).split('').map(function(i) {\r\n var unpadded = i.charCodeAt(0).toString(2);\r\n return (new Array(8 - unpadded.length + 1)).join('0') + unpadded;\r\n }).join(''), 2);\r\n }\r\n\r\n function parseRIFF(string) {\r\n var offset = 0;\r\n var chunks = {};\r\n\r\n while (offset < string.length) {\r\n var id = string.substr(offset, 4);\r\n var len = getStrLength(string, offset);\r\n var data = string.substr(offset + 4 + 4, len);\r\n offset += 4 + 4 + len;\r\n chunks[id] = chunks[id] || [];\r\n\r\n if (id === 'RIFF' || id === 'LIST') {\r\n chunks[id].push(parseRIFF(data));\r\n } else {\r\n chunks[id].push(data);\r\n }\r\n }\r\n return chunks;\r\n }\r\n\r\n function doubleToString(num) {\r\n return [].slice.call(\r\n new Uint8Array((new Float64Array([num])).buffer), 0).map(function(e) {\r\n return String.fromCharCode(e);\r\n }).reverse().join('');\r\n }\r\n\r\n var webm = new ArrayToWebM(frames.map(function(frame) {\r\n var webp = parseWebP(parseRIFF(atob(frame.image.slice(23))));\r\n webp.duration = frame.duration;\r\n return webp;\r\n }));\r\n\r\n postMessage(webm);\r\n }\r\n\r\n /**\r\n * Encodes frames in WebM container. It uses WebWorkinvoke to invoke 'ArrayToWebM' method.\r\n * @param {function} callback - Callback function, that is used to pass recorded blob back to the callee.\r\n * @method\r\n * @memberof Whammy\r\n * @example\r\n * recorder = new Whammy().Video(0.8, 100);\r\n * recorder.compile(function(blob) {\r\n * // blob.size - blob.type\r\n * });\r\n */\r\n WhammyVideo.prototype.compile = function(callback) {\r\n var webWorker = processInWebWorker(whammyInWebWorker);\r\n\r\n webWorker.onmessage = function(event) {\r\n if (event.data.error) {\r\n console.error(event.data.error);\r\n return;\r\n }\r\n callback(event.data);\r\n };\r\n\r\n webWorker.postMessage(this.frames);\r\n };\r\n\r\n return {\r\n /**\r\n * A more abstract-ish API.\r\n * @method\r\n * @memberof Whammy\r\n * @example\r\n * recorder = new Whammy().Video(0.8, 100);\r\n * @param {?number} speed - 0.8\r\n * @param {?number} quality - 100\r\n */\r\n Video: WhammyVideo\r\n };\r\n})();\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n RecordRTC.Whammy = Whammy;\r\n}\n\r\n// ______________ (indexed-db)\r\n// DiskStorage.js\r\n\r\n/**\r\n * DiskStorage is a standalone object used by {@link RecordRTC} to store recorded blobs in IndexedDB storage.\r\n * @summary Writing blobs into IndexedDB.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @example\r\n * DiskStorage.Store({\r\n * audioBlob: yourAudioBlob,\r\n * videoBlob: yourVideoBlob,\r\n * gifBlob : yourGifBlob\r\n * });\r\n * DiskStorage.Fetch(function(dataURL, type) {\r\n * if(type === 'audioBlob') { }\r\n * if(type === 'videoBlob') { }\r\n * if(type === 'gifBlob') { }\r\n * });\r\n * // DiskStorage.dataStoreName = 'recordRTC';\r\n * // DiskStorage.onError = function(error) { };\r\n * @property {function} init - This method must be called once to initialize IndexedDB ObjectStore. Though, it is auto-used internally.\r\n * @property {function} Fetch - This method fetches stored blobs from IndexedDB.\r\n * @property {function} Store - This method stores blobs in IndexedDB.\r\n * @property {function} onError - This function is invoked for any known/unknown error.\r\n * @property {string} dataStoreName - Name of the ObjectStore created in IndexedDB storage.\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n */\r\n\r\n\r\nvar DiskStorage = {\r\n /**\r\n * This method must be called once to initialize IndexedDB ObjectStore. Though, it is auto-used internally.\r\n * @method\r\n * @memberof DiskStorage\r\n * @internal\r\n * @example\r\n * DiskStorage.init();\r\n */\r\n init: function() {\r\n var self = this;\r\n\r\n if (typeof indexedDB === 'undefined' || typeof indexedDB.open === 'undefined') {\r\n console.error('IndexedDB API are not available in this browser.');\r\n return;\r\n }\r\n\r\n var dbVersion = 1;\r\n var dbName = this.dbName || location.href.replace(/\\/|:|#|%|\\.|\\[|\\]/g, ''),\r\n db;\r\n var request = indexedDB.open(dbName, dbVersion);\r\n\r\n function createObjectStore(dataBase) {\r\n dataBase.createObjectStore(self.dataStoreName);\r\n }\r\n\r\n function putInDB() {\r\n var transaction = db.transaction([self.dataStoreName], 'readwrite');\r\n\r\n if (self.videoBlob) {\r\n transaction.objectStore(self.dataStoreName).put(self.videoBlob, 'videoBlob');\r\n }\r\n\r\n if (self.gifBlob) {\r\n transaction.objectStore(self.dataStoreName).put(self.gifBlob, 'gifBlob');\r\n }\r\n\r\n if (self.audioBlob) {\r\n transaction.objectStore(self.dataStoreName).put(self.audioBlob, 'audioBlob');\r\n }\r\n\r\n function getFromStore(portionName) {\r\n transaction.objectStore(self.dataStoreName).get(portionName).onsuccess = function(event) {\r\n if (self.callback) {\r\n self.callback(event.target.result, portionName);\r\n }\r\n };\r\n }\r\n\r\n getFromStore('audioBlob');\r\n getFromStore('videoBlob');\r\n getFromStore('gifBlob');\r\n }\r\n\r\n request.onerror = self.onError;\r\n\r\n request.onsuccess = function() {\r\n db = request.result;\r\n db.onerror = self.onError;\r\n\r\n if (db.setVersion) {\r\n if (db.version !== dbVersion) {\r\n var setVersion = db.setVersion(dbVersion);\r\n setVersion.onsuccess = function() {\r\n createObjectStore(db);\r\n putInDB();\r\n };\r\n } else {\r\n putInDB();\r\n }\r\n } else {\r\n putInDB();\r\n }\r\n };\r\n request.onupgradeneeded = function(event) {\r\n createObjectStore(event.target.result);\r\n };\r\n },\r\n /**\r\n * This method fetches stored blobs from IndexedDB.\r\n * @method\r\n * @memberof DiskStorage\r\n * @internal\r\n * @example\r\n * DiskStorage.Fetch(function(dataURL, type) {\r\n * if(type === 'audioBlob') { }\r\n * if(type === 'videoBlob') { }\r\n * if(type === 'gifBlob') { }\r\n * });\r\n */\r\n Fetch: function(callback) {\r\n this.callback = callback;\r\n this.init();\r\n\r\n return this;\r\n },\r\n /**\r\n * This method stores blobs in IndexedDB.\r\n * @method\r\n * @memberof DiskStorage\r\n * @internal\r\n * @example\r\n * DiskStorage.Store({\r\n * audioBlob: yourAudioBlob,\r\n * videoBlob: yourVideoBlob,\r\n * gifBlob : yourGifBlob\r\n * });\r\n */\r\n Store: function(config) {\r\n this.audioBlob = config.audioBlob;\r\n this.videoBlob = config.videoBlob;\r\n this.gifBlob = config.gifBlob;\r\n\r\n this.init();\r\n\r\n return this;\r\n },\r\n /**\r\n * This function is invoked for any known/unknown error.\r\n * @method\r\n * @memberof DiskStorage\r\n * @internal\r\n * @example\r\n * DiskStorage.onError = function(error){\r\n * alerot( JSON.stringify(error) );\r\n * };\r\n */\r\n onError: function(error) {\r\n console.error(JSON.stringify(error, null, '\\t'));\r\n },\r\n\r\n /**\r\n * @property {string} dataStoreName - Name of the ObjectStore created in IndexedDB storage.\r\n * @memberof DiskStorage\r\n * @internal\r\n * @example\r\n * DiskStorage.dataStoreName = 'recordRTC';\r\n */\r\n dataStoreName: 'recordRTC',\r\n dbName: null\r\n};\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n RecordRTC.DiskStorage = DiskStorage;\r\n}\n\r\n// ______________\r\n// GifRecorder.js\r\n\r\n/**\r\n * GifRecorder is standalone calss used by {@link RecordRTC} to record video or canvas into animated gif.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef GifRecorder\r\n * @class\r\n * @example\r\n * var recorder = new GifRecorder(mediaStream || canvas || context, { onGifPreview: function, onGifRecordingStarted: function, width: 1280, height: 720, frameRate: 200, quality: 10 });\r\n * recorder.record();\r\n * recorder.stop(function(blob) {\r\n * img.src = URL.createObjectURL(blob);\r\n * });\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - MediaStream object or HTMLCanvasElement or CanvasRenderingContext2D.\r\n * @param {object} config - {disableLogs:true, initCallback: function, width: 320, height: 240, frameRate: 200, quality: 10}\r\n */\r\n\r\nfunction GifRecorder(mediaStream, config) {\r\n if (typeof GIFEncoder === 'undefined') {\r\n var script = document.createElement('script');\r\n script.src = 'https://www.webrtc-experiment.com/gif-recorder.js';\r\n (document.body || document.documentElement).appendChild(script);\r\n }\r\n\r\n config = config || {};\r\n\r\n var isHTMLObject = mediaStream instanceof CanvasRenderingContext2D || mediaStream instanceof HTMLCanvasElement;\r\n\r\n /**\r\n * This method records MediaStream.\r\n * @method\r\n * @memberof GifRecorder\r\n * @example\r\n * recorder.record();\r\n */\r\n this.record = function() {\r\n if (typeof GIFEncoder === 'undefined') {\r\n setTimeout(self.record, 1000);\r\n return;\r\n }\r\n\r\n if (!isLoadedMetaData) {\r\n setTimeout(self.record, 1000);\r\n return;\r\n }\r\n\r\n if (!isHTMLObject) {\r\n if (!config.width) {\r\n config.width = video.offsetWidth || 320;\r\n }\r\n\r\n if (!config.height) {\r\n config.height = video.offsetHeight || 240;\r\n }\r\n\r\n if (!config.video) {\r\n config.video = {\r\n width: config.width,\r\n height: config.height\r\n };\r\n }\r\n\r\n if (!config.canvas) {\r\n config.canvas = {\r\n width: config.width,\r\n height: config.height\r\n };\r\n }\r\n\r\n canvas.width = config.canvas.width || 320;\r\n canvas.height = config.canvas.height || 240;\r\n\r\n video.width = config.video.width || 320;\r\n video.height = config.video.height || 240;\r\n }\r\n\r\n // external library to record as GIF images\r\n gifEncoder = new GIFEncoder();\r\n\r\n // void setRepeat(int iter) \r\n // Sets the number of times the set of GIF frames should be played. \r\n // Default is 1; 0 means play indefinitely.\r\n gifEncoder.setRepeat(0);\r\n\r\n // void setFrameRate(Number fps) \r\n // Sets frame rate in frames per second. \r\n // Equivalent to setDelay(1000/fps).\r\n // Using \"setDelay\" instead of \"setFrameRate\"\r\n gifEncoder.setDelay(config.frameRate || 200);\r\n\r\n // void setQuality(int quality) \r\n // Sets quality of color quantization (conversion of images to the \r\n // maximum 256 colors allowed by the GIF specification). \r\n // Lower values (minimum = 1) produce better colors, \r\n // but slow processing significantly. 10 is the default, \r\n // and produces good color mapping at reasonable speeds. \r\n // Values greater than 20 do not yield significant improvements in speed.\r\n gifEncoder.setQuality(config.quality || 10);\r\n\r\n // Boolean start() \r\n // This writes the GIF Header and returns false if it fails.\r\n gifEncoder.start();\r\n\r\n if (typeof config.onGifRecordingStarted === 'function') {\r\n config.onGifRecordingStarted();\r\n }\r\n\r\n startTime = Date.now();\r\n\r\n function drawVideoFrame(time) {\r\n if (self.clearedRecordedData === true) {\r\n return;\r\n }\r\n\r\n if (isPausedRecording) {\r\n return setTimeout(function() {\r\n drawVideoFrame(time);\r\n }, 100);\r\n }\r\n\r\n lastAnimationFrame = requestAnimationFrame(drawVideoFrame);\r\n\r\n if (typeof lastFrameTime === undefined) {\r\n lastFrameTime = time;\r\n }\r\n\r\n // ~10 fps\r\n if (time - lastFrameTime < 90) {\r\n return;\r\n }\r\n\r\n if (!isHTMLObject && video.paused) {\r\n // via: https://github.com/muaz-khan/WebRTC-Experiment/pull/316\r\n // Tweak for Android Chrome\r\n video.play();\r\n }\r\n\r\n if (!isHTMLObject) {\r\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\r\n }\r\n\r\n if (config.onGifPreview) {\r\n config.onGifPreview(canvas.toDataURL('image/png'));\r\n }\r\n\r\n gifEncoder.addFrame(context);\r\n lastFrameTime = time;\r\n }\r\n\r\n lastAnimationFrame = requestAnimationFrame(drawVideoFrame);\r\n\r\n if (config.initCallback) {\r\n config.initCallback();\r\n }\r\n };\r\n\r\n /**\r\n * This method stops recording MediaStream.\r\n * @param {function} callback - Callback function, that is used to pass recorded blob back to the callee.\r\n * @method\r\n * @memberof GifRecorder\r\n * @example\r\n * recorder.stop(function(blob) {\r\n * img.src = URL.createObjectURL(blob);\r\n * });\r\n */\r\n this.stop = function(callback) {\r\n callback = callback || function() {};\r\n\r\n if (lastAnimationFrame) {\r\n cancelAnimationFrame(lastAnimationFrame);\r\n }\r\n\r\n endTime = Date.now();\r\n\r\n /**\r\n * @property {Blob} blob - The recorded blob object.\r\n * @memberof GifRecorder\r\n * @example\r\n * recorder.stop(function(){\r\n * var blob = recorder.blob;\r\n * });\r\n */\r\n this.blob = new Blob([new Uint8Array(gifEncoder.stream().bin)], {\r\n type: 'image/gif'\r\n });\r\n\r\n callback(this.blob);\r\n\r\n // bug: find a way to clear old recorded blobs\r\n gifEncoder.stream().bin = [];\r\n };\r\n\r\n var isPausedRecording = false;\r\n\r\n /**\r\n * This method pauses the recording process.\r\n * @method\r\n * @memberof GifRecorder\r\n * @example\r\n * recorder.pause();\r\n */\r\n this.pause = function() {\r\n isPausedRecording = true;\r\n };\r\n\r\n /**\r\n * This method resumes the recording process.\r\n * @method\r\n * @memberof GifRecorder\r\n * @example\r\n * recorder.resume();\r\n */\r\n this.resume = function() {\r\n isPausedRecording = false;\r\n };\r\n\r\n /**\r\n * This method resets currently recorded data.\r\n * @method\r\n * @memberof GifRecorder\r\n * @example\r\n * recorder.clearRecordedData();\r\n */\r\n this.clearRecordedData = function() {\r\n self.clearedRecordedData = true;\r\n clearRecordedDataCB();\r\n };\r\n\r\n function clearRecordedDataCB() {\r\n if (gifEncoder) {\r\n gifEncoder.stream().bin = [];\r\n }\r\n }\r\n\r\n // for debugging\r\n this.name = 'GifRecorder';\r\n this.toString = function() {\r\n return this.name;\r\n };\r\n\r\n var canvas = document.createElement('canvas');\r\n var context = canvas.getContext('2d');\r\n\r\n if (isHTMLObject) {\r\n if (mediaStream instanceof CanvasRenderingContext2D) {\r\n context = mediaStream;\r\n canvas = context.canvas;\r\n } else if (mediaStream instanceof HTMLCanvasElement) {\r\n context = mediaStream.getContext('2d');\r\n canvas = mediaStream;\r\n }\r\n }\r\n\r\n var isLoadedMetaData = true;\r\n\r\n if (!isHTMLObject) {\r\n var video = document.createElement('video');\r\n video.muted = true;\r\n video.autoplay = true;\r\n video.playsInline = true;\r\n\r\n isLoadedMetaData = false;\r\n video.onloadedmetadata = function() {\r\n isLoadedMetaData = true;\r\n };\r\n\r\n setSrcObject(mediaStream, video);\r\n\r\n video.play();\r\n }\r\n\r\n var lastAnimationFrame = null;\r\n var startTime, endTime, lastFrameTime;\r\n\r\n var gifEncoder;\r\n\r\n var self = this;\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n RecordRTC.GifRecorder = GifRecorder;\r\n}\n\r\n// Last time updated: 2019-06-21 4:09:42 AM UTC\r\n\r\n// ________________________\r\n// MultiStreamsMixer v1.2.2\r\n\r\n// Open-Sourced: https://github.com/muaz-khan/MultiStreamsMixer\r\n\r\n// --------------------------------------------------\r\n// Muaz Khan - www.MuazKhan.com\r\n// MIT License - www.WebRTC-Experiment.com/licence\r\n// --------------------------------------------------\r\n\r\nfunction MultiStreamsMixer(arrayOfMediaStreams, elementClass) {\r\n\r\n var browserFakeUserAgent = 'Fake/5.0 (FakeOS) AppleWebKit/123 (KHTML, like Gecko) Fake/12.3.4567.89 Fake/123.45';\r\n\r\n (function(that) {\r\n if (typeof RecordRTC !== 'undefined') {\r\n return;\r\n }\r\n\r\n if (!that) {\r\n return;\r\n }\r\n\r\n if (typeof window !== 'undefined') {\r\n return;\r\n }\r\n\r\n if (typeof global === 'undefined') {\r\n return;\r\n }\r\n\r\n global.navigator = {\r\n userAgent: browserFakeUserAgent,\r\n getUserMedia: function() {}\r\n };\r\n\r\n if (!global.console) {\r\n global.console = {};\r\n }\r\n\r\n if (typeof global.console.log === 'undefined' || typeof global.console.error === 'undefined') {\r\n global.console.error = global.console.log = global.console.log || function() {\r\n console.log(arguments);\r\n };\r\n }\r\n\r\n if (typeof document === 'undefined') {\r\n /*global document:true */\r\n that.document = {\r\n documentElement: {\r\n appendChild: function() {\r\n return '';\r\n }\r\n }\r\n };\r\n\r\n document.createElement = document.captureStream = document.mozCaptureStream = function() {\r\n var obj = {\r\n getContext: function() {\r\n return obj;\r\n },\r\n play: function() {},\r\n pause: function() {},\r\n drawImage: function() {},\r\n toDataURL: function() {\r\n return '';\r\n },\r\n style: {}\r\n };\r\n return obj;\r\n };\r\n\r\n that.HTMLVideoElement = function() {};\r\n }\r\n\r\n if (typeof location === 'undefined') {\r\n /*global location:true */\r\n that.location = {\r\n protocol: 'file:',\r\n href: '',\r\n hash: ''\r\n };\r\n }\r\n\r\n if (typeof screen === 'undefined') {\r\n /*global screen:true */\r\n that.screen = {\r\n width: 0,\r\n height: 0\r\n };\r\n }\r\n\r\n if (typeof URL === 'undefined') {\r\n /*global screen:true */\r\n that.URL = {\r\n createObjectURL: function() {\r\n return '';\r\n },\r\n revokeObjectURL: function() {\r\n return '';\r\n }\r\n };\r\n }\r\n\r\n /*global window:true */\r\n that.window = global;\r\n })(typeof global !== 'undefined' ? global : null);\r\n\r\n // requires: chrome://flags/#enable-experimental-web-platform-features\r\n\r\n elementClass = elementClass || 'multi-streams-mixer';\r\n\r\n var videos = [];\r\n var isStopDrawingFrames = false;\r\n\r\n var canvas = document.createElement('canvas');\r\n var context = canvas.getContext('2d');\r\n canvas.style.opacity = 0;\r\n canvas.style.position = 'absolute';\r\n canvas.style.zIndex = -1;\r\n canvas.style.top = '-1000em';\r\n canvas.style.left = '-1000em';\r\n canvas.className = elementClass;\r\n (document.body || document.documentElement).appendChild(canvas);\r\n\r\n this.disableLogs = false;\r\n this.frameInterval = 10;\r\n\r\n this.width = 360;\r\n this.height = 240;\r\n\r\n // use gain node to prevent echo\r\n this.useGainNode = true;\r\n\r\n var self = this;\r\n\r\n // _____________________________\r\n // Cross-Browser-Declarations.js\r\n\r\n // WebAudio API representer\r\n var AudioContext = window.AudioContext;\r\n\r\n if (typeof AudioContext === 'undefined') {\r\n if (typeof webkitAudioContext !== 'undefined') {\r\n /*global AudioContext:true */\r\n AudioContext = webkitAudioContext;\r\n }\r\n\r\n if (typeof mozAudioContext !== 'undefined') {\r\n /*global AudioContext:true */\r\n AudioContext = mozAudioContext;\r\n }\r\n }\r\n\r\n /*jshint -W079 */\r\n var URL = window.URL;\r\n\r\n if (typeof URL === 'undefined' && typeof webkitURL !== 'undefined') {\r\n /*global URL:true */\r\n URL = webkitURL;\r\n }\r\n\r\n if (typeof navigator !== 'undefined' && typeof navigator.getUserMedia === 'undefined') { // maybe window.navigator?\r\n if (typeof navigator.webkitGetUserMedia !== 'undefined') {\r\n navigator.getUserMedia = navigator.webkitGetUserMedia;\r\n }\r\n\r\n if (typeof navigator.mozGetUserMedia !== 'undefined') {\r\n navigator.getUserMedia = navigator.mozGetUserMedia;\r\n }\r\n }\r\n\r\n var MediaStream = window.MediaStream;\r\n\r\n if (typeof MediaStream === 'undefined' && typeof webkitMediaStream !== 'undefined') {\r\n MediaStream = webkitMediaStream;\r\n }\r\n\r\n /*global MediaStream:true */\r\n if (typeof MediaStream !== 'undefined') {\r\n // override \"stop\" method for all browsers\r\n if (typeof MediaStream.prototype.stop === 'undefined') {\r\n MediaStream.prototype.stop = function() {\r\n this.getTracks().forEach(function(track) {\r\n track.stop();\r\n });\r\n };\r\n }\r\n }\r\n\r\n var Storage = {};\r\n\r\n if (typeof AudioContext !== 'undefined') {\r\n Storage.AudioContext = AudioContext;\r\n } else if (typeof webkitAudioContext !== 'undefined') {\r\n Storage.AudioContext = webkitAudioContext;\r\n }\r\n\r\n function setSrcObject(stream, element) {\r\n if ('srcObject' in element) {\r\n element.srcObject = stream;\r\n } else if ('mozSrcObject' in element) {\r\n element.mozSrcObject = stream;\r\n } else {\r\n element.srcObject = stream;\r\n }\r\n }\r\n\r\n this.startDrawingFrames = function() {\r\n drawVideosToCanvas();\r\n };\r\n\r\n function drawVideosToCanvas() {\r\n if (isStopDrawingFrames) {\r\n return;\r\n }\r\n\r\n var videosLength = videos.length;\r\n\r\n var fullcanvas = false;\r\n var remaining = [];\r\n videos.forEach(function(video) {\r\n if (!video.stream) {\r\n video.stream = {};\r\n }\r\n\r\n if (video.stream.fullcanvas) {\r\n fullcanvas = video;\r\n } else {\r\n // todo: video.stream.active or video.stream.live to fix blank frames issues?\r\n remaining.push(video);\r\n }\r\n });\r\n\r\n if (fullcanvas) {\r\n canvas.width = fullcanvas.stream.width;\r\n canvas.height = fullcanvas.stream.height;\r\n } else if (remaining.length) {\r\n canvas.width = videosLength > 1 ? remaining[0].width * 2 : remaining[0].width;\r\n\r\n var height = 1;\r\n if (videosLength === 3 || videosLength === 4) {\r\n height = 2;\r\n }\r\n if (videosLength === 5 || videosLength === 6) {\r\n height = 3;\r\n }\r\n if (videosLength === 7 || videosLength === 8) {\r\n height = 4;\r\n }\r\n if (videosLength === 9 || videosLength === 10) {\r\n height = 5;\r\n }\r\n canvas.height = remaining[0].height * height;\r\n } else {\r\n canvas.width = self.width || 360;\r\n canvas.height = self.height || 240;\r\n }\r\n\r\n if (fullcanvas && fullcanvas instanceof HTMLVideoElement) {\r\n drawImage(fullcanvas);\r\n }\r\n\r\n remaining.forEach(function(video, idx) {\r\n drawImage(video, idx);\r\n });\r\n\r\n setTimeout(drawVideosToCanvas, self.frameInterval);\r\n }\r\n\r\n function drawImage(video, idx) {\r\n if (isStopDrawingFrames) {\r\n return;\r\n }\r\n\r\n var x = 0;\r\n var y = 0;\r\n var width = video.width;\r\n var height = video.height;\r\n\r\n if (idx === 1) {\r\n x = video.width;\r\n }\r\n\r\n if (idx === 2) {\r\n y = video.height;\r\n }\r\n\r\n if (idx === 3) {\r\n x = video.width;\r\n y = video.height;\r\n }\r\n\r\n if (idx === 4) {\r\n y = video.height * 2;\r\n }\r\n\r\n if (idx === 5) {\r\n x = video.width;\r\n y = video.height * 2;\r\n }\r\n\r\n if (idx === 6) {\r\n y = video.height * 3;\r\n }\r\n\r\n if (idx === 7) {\r\n x = video.width;\r\n y = video.height * 3;\r\n }\r\n\r\n if (typeof video.stream.left !== 'undefined') {\r\n x = video.stream.left;\r\n }\r\n\r\n if (typeof video.stream.top !== 'undefined') {\r\n y = video.stream.top;\r\n }\r\n\r\n if (typeof video.stream.width !== 'undefined') {\r\n width = video.stream.width;\r\n }\r\n\r\n if (typeof video.stream.height !== 'undefined') {\r\n height = video.stream.height;\r\n }\r\n\r\n context.drawImage(video, x, y, width, height);\r\n\r\n if (typeof video.stream.onRender === 'function') {\r\n video.stream.onRender(context, x, y, width, height, idx);\r\n }\r\n }\r\n\r\n function getMixedStream() {\r\n isStopDrawingFrames = false;\r\n var mixedVideoStream = getMixedVideoStream();\r\n\r\n var mixedAudioStream = getMixedAudioStream();\r\n if (mixedAudioStream) {\r\n mixedAudioStream.getTracks().filter(function(t) {\r\n return t.kind === 'audio';\r\n }).forEach(function(track) {\r\n mixedVideoStream.addTrack(track);\r\n });\r\n }\r\n\r\n var fullcanvas;\r\n arrayOfMediaStreams.forEach(function(stream) {\r\n if (stream.fullcanvas) {\r\n fullcanvas = true;\r\n }\r\n });\r\n\r\n // mixedVideoStream.prototype.appendStreams = appendStreams;\r\n // mixedVideoStream.prototype.resetVideoStreams = resetVideoStreams;\r\n // mixedVideoStream.prototype.clearRecordedData = clearRecordedData;\r\n\r\n return mixedVideoStream;\r\n }\r\n\r\n function getMixedVideoStream() {\r\n resetVideoStreams();\r\n\r\n var capturedStream;\r\n\r\n if ('captureStream' in canvas) {\r\n capturedStream = canvas.captureStream();\r\n } else if ('mozCaptureStream' in canvas) {\r\n capturedStream = canvas.mozCaptureStream();\r\n } else if (!self.disableLogs) {\r\n console.error('Upgrade to latest Chrome or otherwise enable this flag: chrome://flags/#enable-experimental-web-platform-features');\r\n }\r\n\r\n var videoStream = new MediaStream();\r\n\r\n capturedStream.getTracks().filter(function(t) {\r\n return t.kind === 'video';\r\n }).forEach(function(track) {\r\n videoStream.addTrack(track);\r\n });\r\n\r\n canvas.stream = videoStream;\r\n\r\n return videoStream;\r\n }\r\n\r\n function getMixedAudioStream() {\r\n // via: @pehrsons\r\n if (!Storage.AudioContextConstructor) {\r\n Storage.AudioContextConstructor = new Storage.AudioContext();\r\n }\r\n\r\n self.audioContext = Storage.AudioContextConstructor;\r\n\r\n self.audioSources = [];\r\n\r\n if (self.useGainNode === true) {\r\n self.gainNode = self.audioContext.createGain();\r\n self.gainNode.connect(self.audioContext.destination);\r\n self.gainNode.gain.value = 0; // don't hear self\r\n }\r\n\r\n var audioTracksLength = 0;\r\n arrayOfMediaStreams.forEach(function(stream) {\r\n if (!stream.getTracks().filter(function(t) {\r\n return t.kind === 'audio';\r\n }).length) {\r\n return;\r\n }\r\n\r\n audioTracksLength++;\r\n\r\n var audioSource = self.audioContext.createMediaStreamSource(stream);\r\n\r\n if (self.useGainNode === true) {\r\n audioSource.connect(self.gainNode);\r\n }\r\n\r\n self.audioSources.push(audioSource);\r\n });\r\n\r\n if (!audioTracksLength) {\r\n // because \"self.audioContext\" is not initialized\r\n // that's why we've to ignore rest of the code\r\n return;\r\n }\r\n\r\n self.audioDestination = self.audioContext.createMediaStreamDestination();\r\n self.audioSources.forEach(function(audioSource) {\r\n audioSource.connect(self.audioDestination);\r\n });\r\n return self.audioDestination.stream;\r\n }\r\n\r\n function getVideo(stream) {\r\n var video = document.createElement('video');\r\n\r\n setSrcObject(stream, video);\r\n\r\n video.className = elementClass;\r\n\r\n video.muted = true;\r\n video.volume = 0;\r\n\r\n video.width = stream.width || self.width || 360;\r\n video.height = stream.height || self.height || 240;\r\n\r\n video.play();\r\n\r\n return video;\r\n }\r\n\r\n this.appendStreams = function(streams) {\r\n if (!streams) {\r\n throw 'First parameter is required.';\r\n }\r\n\r\n if (!(streams instanceof Array)) {\r\n streams = [streams];\r\n }\r\n\r\n streams.forEach(function(stream) {\r\n var newStream = new MediaStream();\r\n\r\n if (stream.getTracks().filter(function(t) {\r\n return t.kind === 'video';\r\n }).length) {\r\n var video = getVideo(stream);\r\n video.stream = stream;\r\n videos.push(video);\r\n\r\n newStream.addTrack(stream.getTracks().filter(function(t) {\r\n return t.kind === 'video';\r\n })[0]);\r\n }\r\n\r\n if (stream.getTracks().filter(function(t) {\r\n return t.kind === 'audio';\r\n }).length) {\r\n var audioSource = self.audioContext.createMediaStreamSource(stream);\r\n self.audioDestination = self.audioContext.createMediaStreamDestination();\r\n audioSource.connect(self.audioDestination);\r\n\r\n newStream.addTrack(self.audioDestination.stream.getTracks().filter(function(t) {\r\n return t.kind === 'audio';\r\n })[0]);\r\n }\r\n\r\n arrayOfMediaStreams.push(newStream);\r\n });\r\n };\r\n\r\n this.releaseStreams = function() {\r\n videos = [];\r\n isStopDrawingFrames = true;\r\n\r\n if (self.gainNode) {\r\n self.gainNode.disconnect();\r\n self.gainNode = null;\r\n }\r\n\r\n if (self.audioSources.length) {\r\n self.audioSources.forEach(function(source) {\r\n source.disconnect();\r\n });\r\n self.audioSources = [];\r\n }\r\n\r\n if (self.audioDestination) {\r\n self.audioDestination.disconnect();\r\n self.audioDestination = null;\r\n }\r\n\r\n if (self.audioContext) {\r\n self.audioContext.close();\r\n }\r\n\r\n self.audioContext = null;\r\n\r\n context.clearRect(0, 0, canvas.width, canvas.height);\r\n\r\n if (canvas.stream) {\r\n canvas.stream.stop();\r\n canvas.stream = null;\r\n }\r\n };\r\n\r\n this.resetVideoStreams = function(streams) {\r\n if (streams && !(streams instanceof Array)) {\r\n streams = [streams];\r\n }\r\n\r\n resetVideoStreams(streams);\r\n };\r\n\r\n function resetVideoStreams(streams) {\r\n videos = [];\r\n streams = streams || arrayOfMediaStreams;\r\n\r\n // via: @adrian-ber\r\n streams.forEach(function(stream) {\r\n if (!stream.getTracks().filter(function(t) {\r\n return t.kind === 'video';\r\n }).length) {\r\n return;\r\n }\r\n\r\n var video = getVideo(stream);\r\n video.stream = stream;\r\n videos.push(video);\r\n });\r\n }\r\n\r\n // for debugging\r\n this.name = 'MultiStreamsMixer';\r\n this.toString = function() {\r\n return this.name;\r\n };\r\n\r\n this.getMixedStream = getMixedStream;\r\n\r\n}\r\n\r\nif (typeof RecordRTC === 'undefined') {\r\n if (typeof module !== 'undefined' /* && !!module.exports*/ ) {\r\n module.exports = MultiStreamsMixer;\r\n }\r\n\r\n if (typeof define === 'function' && define.amd) {\r\n define('MultiStreamsMixer', [], function() {\r\n return MultiStreamsMixer;\r\n });\r\n }\r\n}\n\r\n// ______________________\r\n// MultiStreamRecorder.js\r\n\r\n/*\r\n * Video conference recording, using captureStream API along with WebAudio and Canvas2D API.\r\n */\r\n\r\n/**\r\n * MultiStreamRecorder can record multiple videos in single container.\r\n * @summary Multi-videos recorder.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef MultiStreamRecorder\r\n * @class\r\n * @example\r\n * var options = {\r\n * mimeType: 'video/webm'\r\n * }\r\n * var recorder = new MultiStreamRecorder(ArrayOfMediaStreams, options);\r\n * recorder.record();\r\n * recorder.stop(function(blob) {\r\n * video.src = URL.createObjectURL(blob);\r\n *\r\n * // or\r\n * var blob = recorder.blob;\r\n * });\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStreams} mediaStreams - Array of MediaStreams.\r\n * @param {object} config - {disableLogs:true, frameInterval: 1, mimeType: \"video/webm\"}\r\n */\r\n\r\nfunction MultiStreamRecorder(arrayOfMediaStreams, options) {\r\n arrayOfMediaStreams = arrayOfMediaStreams || [];\r\n var self = this;\r\n\r\n var mixer;\r\n var mediaRecorder;\r\n\r\n options = options || {\r\n elementClass: 'multi-streams-mixer',\r\n mimeType: 'video/webm',\r\n video: {\r\n width: 360,\r\n height: 240\r\n }\r\n };\r\n\r\n if (!options.frameInterval) {\r\n options.frameInterval = 10;\r\n }\r\n\r\n if (!options.video) {\r\n options.video = {};\r\n }\r\n\r\n if (!options.video.width) {\r\n options.video.width = 360;\r\n }\r\n\r\n if (!options.video.height) {\r\n options.video.height = 240;\r\n }\r\n\r\n /**\r\n * This method records all MediaStreams.\r\n * @method\r\n * @memberof MultiStreamRecorder\r\n * @example\r\n * recorder.record();\r\n */\r\n this.record = function() {\r\n // github/muaz-khan/MultiStreamsMixer\r\n mixer = new MultiStreamsMixer(arrayOfMediaStreams, options.elementClass || 'multi-streams-mixer');\r\n\r\n if (getAllVideoTracks().length) {\r\n mixer.frameInterval = options.frameInterval || 10;\r\n mixer.width = options.video.width || 360;\r\n mixer.height = options.video.height || 240;\r\n mixer.startDrawingFrames();\r\n }\r\n\r\n if (options.previewStream && typeof options.previewStream === 'function') {\r\n options.previewStream(mixer.getMixedStream());\r\n }\r\n\r\n // record using MediaRecorder API\r\n mediaRecorder = new MediaStreamRecorder(mixer.getMixedStream(), options);\r\n mediaRecorder.record();\r\n };\r\n\r\n function getAllVideoTracks() {\r\n var tracks = [];\r\n arrayOfMediaStreams.forEach(function(stream) {\r\n getTracks(stream, 'video').forEach(function(track) {\r\n tracks.push(track);\r\n });\r\n });\r\n return tracks;\r\n }\r\n\r\n /**\r\n * This method stops recording MediaStream.\r\n * @param {function} callback - Callback function, that is used to pass recorded blob back to the callee.\r\n * @method\r\n * @memberof MultiStreamRecorder\r\n * @example\r\n * recorder.stop(function(blob) {\r\n * video.src = URL.createObjectURL(blob);\r\n * });\r\n */\r\n this.stop = function(callback) {\r\n if (!mediaRecorder) {\r\n return;\r\n }\r\n\r\n mediaRecorder.stop(function(blob) {\r\n self.blob = blob;\r\n\r\n callback(blob);\r\n\r\n self.clearRecordedData();\r\n });\r\n };\r\n\r\n /**\r\n * This method pauses the recording process.\r\n * @method\r\n * @memberof MultiStreamRecorder\r\n * @example\r\n * recorder.pause();\r\n */\r\n this.pause = function() {\r\n if (mediaRecorder) {\r\n mediaRecorder.pause();\r\n }\r\n };\r\n\r\n /**\r\n * This method resumes the recording process.\r\n * @method\r\n * @memberof MultiStreamRecorder\r\n * @example\r\n * recorder.resume();\r\n */\r\n this.resume = function() {\r\n if (mediaRecorder) {\r\n mediaRecorder.resume();\r\n }\r\n };\r\n\r\n /**\r\n * This method resets currently recorded data.\r\n * @method\r\n * @memberof MultiStreamRecorder\r\n * @example\r\n * recorder.clearRecordedData();\r\n */\r\n this.clearRecordedData = function() {\r\n if (mediaRecorder) {\r\n mediaRecorder.clearRecordedData();\r\n mediaRecorder = null;\r\n }\r\n\r\n if (mixer) {\r\n mixer.releaseStreams();\r\n mixer = null;\r\n }\r\n };\r\n\r\n /**\r\n * Add extra media-streams to existing recordings.\r\n * @method\r\n * @memberof MultiStreamRecorder\r\n * @param {MediaStreams} mediaStreams - Array of MediaStreams\r\n * @example\r\n * recorder.addStreams([newAudioStream, newVideoStream]);\r\n */\r\n this.addStreams = function(streams) {\r\n if (!streams) {\r\n throw 'First parameter is required.';\r\n }\r\n\r\n if (!(streams instanceof Array)) {\r\n streams = [streams];\r\n }\r\n\r\n arrayOfMediaStreams.concat(streams);\r\n\r\n if (!mediaRecorder || !mixer) {\r\n return;\r\n }\r\n\r\n mixer.appendStreams(streams);\r\n\r\n if (options.previewStream && typeof options.previewStream === 'function') {\r\n options.previewStream(mixer.getMixedStream());\r\n }\r\n };\r\n\r\n /**\r\n * Reset videos during live recording. Replace old videos e.g. replace cameras with full-screen.\r\n * @method\r\n * @memberof MultiStreamRecorder\r\n * @param {MediaStreams} mediaStreams - Array of MediaStreams\r\n * @example\r\n * recorder.resetVideoStreams([newVideo1, newVideo2]);\r\n */\r\n this.resetVideoStreams = function(streams) {\r\n if (!mixer) {\r\n return;\r\n }\r\n\r\n if (streams && !(streams instanceof Array)) {\r\n streams = [streams];\r\n }\r\n\r\n mixer.resetVideoStreams(streams);\r\n };\r\n\r\n /**\r\n * Returns MultiStreamsMixer\r\n * @method\r\n * @memberof MultiStreamRecorder\r\n * @example\r\n * let mixer = recorder.getMixer();\r\n * mixer.appendStreams([newStream]);\r\n */\r\n this.getMixer = function() {\r\n return mixer;\r\n };\r\n\r\n // for debugging\r\n this.name = 'MultiStreamRecorder';\r\n this.toString = function() {\r\n return this.name;\r\n };\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n RecordRTC.MultiStreamRecorder = MultiStreamRecorder;\r\n}\n\r\n// _____________________\r\n// RecordRTC.promises.js\r\n\r\n/**\r\n * RecordRTCPromisesHandler adds promises support in {@link RecordRTC}. Try a {@link https://github.com/muaz-khan/RecordRTC/blob/master/simple-demos/RecordRTCPromisesHandler.html|demo here}\r\n * @summary Promises for {@link RecordRTC}\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef RecordRTCPromisesHandler\r\n * @class\r\n * @example\r\n * var recorder = new RecordRTCPromisesHandler(mediaStream, options);\r\n * recorder.startRecording()\r\n * .then(successCB)\r\n * .catch(errorCB);\r\n * // Note: You can access all RecordRTC API using \"recorder.recordRTC\" e.g. \r\n * recorder.recordRTC.onStateChanged = function(state) {};\r\n * recorder.recordRTC.setRecordingDuration(5000);\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - Single media-stream object, array of media-streams, html-canvas-element, etc.\r\n * @param {object} config - {type:\"video\", recorderType: MediaStreamRecorder, disableLogs: true, numberOfAudioChannels: 1, bufferSize: 0, sampleRate: 0, video: HTMLVideoElement, etc.}\r\n * @throws Will throw an error if \"new\" keyword is not used to initiate \"RecordRTCPromisesHandler\". Also throws error if first argument \"MediaStream\" is missing.\r\n * @requires {@link RecordRTC}\r\n */\r\n\r\nfunction RecordRTCPromisesHandler(mediaStream, options) {\r\n if (!this) {\r\n throw 'Use \"new RecordRTCPromisesHandler()\"';\r\n }\r\n\r\n if (typeof mediaStream === 'undefined') {\r\n throw 'First argument \"MediaStream\" is required.';\r\n }\r\n\r\n var self = this;\r\n\r\n /**\r\n * @property {Blob} blob - Access/reach the native {@link RecordRTC} object.\r\n * @memberof RecordRTCPromisesHandler\r\n * @example\r\n * let internal = recorder.recordRTC.getInternalRecorder();\r\n * alert(internal instanceof MediaStreamRecorder);\r\n * recorder.recordRTC.onStateChanged = function(state) {};\r\n */\r\n self.recordRTC = new RecordRTC(mediaStream, options);\r\n\r\n /**\r\n * This method records MediaStream.\r\n * @method\r\n * @memberof RecordRTCPromisesHandler\r\n * @example\r\n * recorder.startRecording()\r\n * .then(successCB)\r\n * .catch(errorCB);\r\n */\r\n this.startRecording = function() {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n self.recordRTC.startRecording();\r\n resolve();\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * This method stops the recording.\r\n * @method\r\n * @memberof RecordRTCPromisesHandler\r\n * @example\r\n * recorder.stopRecording().then(function() {\r\n * var blob = recorder.getBlob();\r\n * }).catch(errorCB);\r\n */\r\n this.stopRecording = function() {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n self.recordRTC.stopRecording(function(url) {\r\n self.blob = self.recordRTC.getBlob();\r\n\r\n if (!self.blob || !self.blob.size) {\r\n reject('Empty blob.', self.blob);\r\n return;\r\n }\r\n\r\n resolve(url);\r\n });\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * This method pauses the recording. You can resume recording using \"resumeRecording\" method.\r\n * @method\r\n * @memberof RecordRTCPromisesHandler\r\n * @example\r\n * recorder.pauseRecording()\r\n * .then(successCB)\r\n * .catch(errorCB);\r\n */\r\n this.pauseRecording = function() {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n self.recordRTC.pauseRecording();\r\n resolve();\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * This method resumes the recording.\r\n * @method\r\n * @memberof RecordRTCPromisesHandler\r\n * @example\r\n * recorder.resumeRecording()\r\n * .then(successCB)\r\n * .catch(errorCB);\r\n */\r\n this.resumeRecording = function() {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n self.recordRTC.resumeRecording();\r\n resolve();\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * This method returns data-url for the recorded blob.\r\n * @method\r\n * @memberof RecordRTCPromisesHandler\r\n * @example\r\n * recorder.stopRecording().then(function() {\r\n * recorder.getDataURL().then(function(dataURL) {\r\n * window.open(dataURL);\r\n * }).catch(errorCB);;\r\n * }).catch(errorCB);\r\n */\r\n this.getDataURL = function(callback) {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n self.recordRTC.getDataURL(function(dataURL) {\r\n resolve(dataURL);\r\n });\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * This method returns the recorded blob.\r\n * @method\r\n * @memberof RecordRTCPromisesHandler\r\n * @example\r\n * recorder.stopRecording().then(function() {\r\n * recorder.getBlob().then(function(blob) {})\r\n * }).catch(errorCB);\r\n */\r\n this.getBlob = function() {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n resolve(self.recordRTC.getBlob());\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * This method returns the internal recording object.\r\n * @method\r\n * @memberof RecordRTCPromisesHandler\r\n * @example\r\n * let internalRecorder = await recorder.getInternalRecorder();\r\n * if(internalRecorder instanceof MultiStreamRecorder) {\r\n * internalRecorder.addStreams([newAudioStream]);\r\n * internalRecorder.resetVideoStreams([screenStream]);\r\n * }\r\n * @returns {Object} \r\n */\r\n this.getInternalRecorder = function() {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n resolve(self.recordRTC.getInternalRecorder());\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * This method resets the recorder. So that you can reuse single recorder instance many times.\r\n * @method\r\n * @memberof RecordRTCPromisesHandler\r\n * @example\r\n * await recorder.reset();\r\n * recorder.startRecording(); // record again\r\n */\r\n this.reset = function() {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n resolve(self.recordRTC.reset());\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Destroy RecordRTC instance. Clear all recorders and objects.\r\n * @method\r\n * @memberof RecordRTCPromisesHandler\r\n * @example\r\n * recorder.destroy().then(successCB).catch(errorCB);\r\n */\r\n this.destroy = function() {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n resolve(self.recordRTC.destroy());\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Get recorder's readonly state.\r\n * @method\r\n * @memberof RecordRTCPromisesHandler\r\n * @example\r\n * let state = await recorder.getState();\r\n * // or\r\n * recorder.getState().then(state => { console.log(state); })\r\n * @returns {String} Returns recording state.\r\n */\r\n this.getState = function() {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n resolve(self.recordRTC.getState());\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * @property {Blob} blob - Recorded data as \"Blob\" object.\r\n * @memberof RecordRTCPromisesHandler\r\n * @example\r\n * await recorder.stopRecording();\r\n * let blob = recorder.getBlob(); // or \"recorder.recordRTC.blob\"\r\n * invokeSaveAsDialog(blob);\r\n */\r\n this.blob = null;\r\n\r\n /**\r\n * RecordRTC version number\r\n * @property {String} version - Release version number.\r\n * @memberof RecordRTCPromisesHandler\r\n * @static\r\n * @readonly\r\n * @example\r\n * alert(recorder.version);\r\n */\r\n this.version = '5.6.2';\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n RecordRTC.RecordRTCPromisesHandler = RecordRTCPromisesHandler;\r\n}\n\r\n// ______________________\r\n// WebAssemblyRecorder.js\r\n\r\n/**\r\n * WebAssemblyRecorder lets you create webm videos in JavaScript via WebAssembly. The library consumes raw RGBA32 buffers (4 bytes per pixel) and turns them into a webm video with the given framerate and quality. This makes it compatible out-of-the-box with ImageData from a CANVAS. With realtime mode you can also use webm-wasm for streaming webm videos.\r\n * @summary Video recording feature in Chrome, Firefox and maybe Edge.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef WebAssemblyRecorder\r\n * @class\r\n * @example\r\n * var recorder = new WebAssemblyRecorder(mediaStream);\r\n * recorder.record();\r\n * recorder.stop(function(blob) {\r\n * video.src = URL.createObjectURL(blob);\r\n * });\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.\r\n * @param {object} config - {webAssemblyPath:'webm-wasm.wasm',workerPath: 'webm-worker.js', frameRate: 30, width: 1920, height: 1080, bitrate: 1024, realtime: true}\r\n */\r\nfunction WebAssemblyRecorder(stream, config) {\r\n // based on: github.com/GoogleChromeLabs/webm-wasm\r\n\r\n if (typeof ReadableStream === 'undefined' || typeof WritableStream === 'undefined') {\r\n // because it fixes readable/writable streams issues\r\n console.error('Following polyfill is strongly recommended: https://unpkg.com/@mattiasbuelens/web-streams-polyfill/dist/polyfill.min.js');\r\n }\r\n\r\n config = config || {};\r\n\r\n config.width = config.width || 640;\r\n config.height = config.height || 480;\r\n config.frameRate = config.frameRate || 30;\r\n config.bitrate = config.bitrate || 1200;\r\n config.realtime = config.realtime || true;\r\n\r\n function createBufferURL(buffer, type) {\r\n return URL.createObjectURL(new Blob([buffer], {\r\n type: type || ''\r\n }));\r\n }\r\n\r\n var finished;\r\n\r\n function cameraStream() {\r\n return new ReadableStream({\r\n start: function(controller) {\r\n var cvs = document.createElement('canvas');\r\n var video = document.createElement('video');\r\n var first = true;\r\n video.srcObject = stream;\r\n video.muted = true;\r\n video.height = config.height;\r\n video.width = config.width;\r\n video.volume = 0;\r\n video.onplaying = function() {\r\n cvs.width = config.width;\r\n cvs.height = config.height;\r\n var ctx = cvs.getContext('2d');\r\n var frameTimeout = 1000 / config.frameRate;\r\n var cameraTimer = setInterval(function f() {\r\n if (finished) {\r\n clearInterval(cameraTimer);\r\n controller.close();\r\n }\r\n\r\n if (first) {\r\n first = false;\r\n if (config.onVideoProcessStarted) {\r\n config.onVideoProcessStarted();\r\n }\r\n }\r\n\r\n ctx.drawImage(video, 0, 0);\r\n if (controller._controlledReadableStream.state !== 'closed') {\r\n try {\r\n controller.enqueue(\r\n ctx.getImageData(0, 0, config.width, config.height)\r\n );\r\n } catch (e) {}\r\n }\r\n }, frameTimeout);\r\n };\r\n video.play();\r\n }\r\n });\r\n }\r\n\r\n var worker;\r\n\r\n function startRecording(stream, buffer) {\r\n if (!config.workerPath && !buffer) {\r\n finished = false;\r\n\r\n // is it safe to use @latest ?\r\n\r\n fetch(\r\n 'https://unpkg.com/webm-wasm@latest/dist/webm-worker.js'\r\n ).then(function(r) {\r\n r.arrayBuffer().then(function(buffer) {\r\n startRecording(stream, buffer);\r\n });\r\n });\r\n return;\r\n }\r\n\r\n if (!config.workerPath && buffer instanceof ArrayBuffer) {\r\n var blob = new Blob([buffer], {\r\n type: 'text/javascript'\r\n });\r\n config.workerPath = URL.createObjectURL(blob);\r\n }\r\n\r\n if (!config.workerPath) {\r\n console.error('workerPath parameter is missing.');\r\n }\r\n\r\n worker = new Worker(config.workerPath);\r\n\r\n worker.postMessage(config.webAssemblyPath || 'https://unpkg.com/webm-wasm@latest/dist/webm-wasm.wasm');\r\n worker.addEventListener('message', function(event) {\r\n if (event.data === 'READY') {\r\n worker.postMessage({\r\n width: config.width,\r\n height: config.height,\r\n bitrate: config.bitrate || 1200,\r\n timebaseDen: config.frameRate || 30,\r\n realtime: config.realtime\r\n });\r\n\r\n cameraStream().pipeTo(new WritableStream({\r\n write: function(image) {\r\n if (finished) {\r\n console.error('Got image, but recorder is finished!');\r\n return;\r\n }\r\n\r\n worker.postMessage(image.data.buffer, [image.data.buffer]);\r\n }\r\n }));\r\n } else if (!!event.data) {\r\n if (!isPaused) {\r\n arrayOfBuffers.push(event.data);\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * This method records video.\r\n * @method\r\n * @memberof WebAssemblyRecorder\r\n * @example\r\n * recorder.record();\r\n */\r\n this.record = function() {\r\n arrayOfBuffers = [];\r\n isPaused = false;\r\n this.blob = null;\r\n startRecording(stream);\r\n\r\n if (typeof config.initCallback === 'function') {\r\n config.initCallback();\r\n }\r\n };\r\n\r\n var isPaused;\r\n\r\n /**\r\n * This method pauses the recording process.\r\n * @method\r\n * @memberof WebAssemblyRecorder\r\n * @example\r\n * recorder.pause();\r\n */\r\n this.pause = function() {\r\n isPaused = true;\r\n };\r\n\r\n /**\r\n * This method resumes the recording process.\r\n * @method\r\n * @memberof WebAssemblyRecorder\r\n * @example\r\n * recorder.resume();\r\n */\r\n this.resume = function() {\r\n isPaused = false;\r\n };\r\n\r\n function terminate(callback) {\r\n if (!worker) {\r\n if (callback) {\r\n callback();\r\n }\r\n\r\n return;\r\n }\r\n\r\n // Wait for null event data to indicate that the encoding is complete\r\n worker.addEventListener('message', function(event) {\r\n if (event.data === null) {\r\n worker.terminate();\r\n worker = null;\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n });\r\n\r\n worker.postMessage(null);\r\n }\r\n\r\n var arrayOfBuffers = [];\r\n\r\n /**\r\n * This method stops recording video.\r\n * @param {function} callback - Callback function, that is used to pass recorded blob back to the callee.\r\n * @method\r\n * @memberof WebAssemblyRecorder\r\n * @example\r\n * recorder.stop(function(blob) {\r\n * video.src = URL.createObjectURL(blob);\r\n * });\r\n */\r\n this.stop = function(callback) {\r\n finished = true;\r\n\r\n var recorder = this;\r\n\r\n terminate(function() {\r\n recorder.blob = new Blob(arrayOfBuffers, {\r\n type: 'video/webm'\r\n });\r\n\r\n callback(recorder.blob);\r\n });\r\n };\r\n\r\n // for debugging\r\n this.name = 'WebAssemblyRecorder';\r\n this.toString = function() {\r\n return this.name;\r\n };\r\n\r\n /**\r\n * This method resets currently recorded data.\r\n * @method\r\n * @memberof WebAssemblyRecorder\r\n * @example\r\n * recorder.clearRecordedData();\r\n */\r\n this.clearRecordedData = function() {\r\n arrayOfBuffers = [];\r\n isPaused = false;\r\n this.blob = null;\r\n\r\n // todo: if recording-ON then STOP it first\r\n };\r\n\r\n /**\r\n * @property {Blob} blob - The recorded blob object.\r\n * @memberof WebAssemblyRecorder\r\n * @example\r\n * recorder.stop(function(){\r\n * var blob = recorder.blob;\r\n * });\r\n */\r\n this.blob = null;\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n RecordRTC.WebAssemblyRecorder = WebAssemblyRecorder;\r\n}\n","module.exports = __webpack_public_path__ + \"img/map_icon.b14380e1.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceLocation.vue?vue&type=style&index=0&id=545e8f93&prod&scoped=true&lang=css&\"","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotAuthorizedForAMTActions.vue?vue&type=style&index=0&id=20306cab&prod&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceDetails.vue?vue&type=style&index=0&id=a1d50410&prod&lang=css&\"","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar Error = getBuiltIn('Error');\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION);\n\nvar $DOMException = function DOMException() {\n anInstance(this, DOMExceptionPrototype);\n var argumentsLength = arguments.length;\n var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n var that = new NativeDOMException(message, name);\n var error = Error(message);\n error.name = DOM_EXCEPTION;\n defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n inheritIfRequired(that, this, $DOMException);\n return that;\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;\n\nvar ERROR_HAS_STACK = 'stack' in Error(DOM_EXCEPTION);\nvar DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION);\n\n// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it\n// https://github.com/Jarred-Sumner/bun/issues/399\nvar BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);\n\nvar FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK;\n\n// `DOMException` constructor patch for `.stack` where it's required\n// https://webidl.spec.whatwg.org/#es-DOMException-specialness\n$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic\n DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {\n if (!IS_PURE) {\n defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));\n }\n\n for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n var constant = DOMExceptionConstants[key];\n var constantName = constant.s;\n if (!hasOwn(PolyfilledDOMException, constantName)) {\n defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));\n }\n }\n}\n","\"use strict\";\nmodule.exports = Enum;\n\n// extends ReflectionObject\nvar ReflectionObject = require(\"./object\");\n((Enum.prototype = Object.create(ReflectionObject.prototype)).constructor = Enum).className = \"Enum\";\n\nvar Namespace = require(\"./namespace\"),\n util = require(\"./util\");\n\n/**\n * Constructs a new enum instance.\n * @classdesc Reflected enum.\n * @extends ReflectionObject\n * @constructor\n * @param {string} name Unique name within its namespace\n * @param {Object.} [values] Enum values as an object, by name\n * @param {Object.} [options] Declared options\n * @param {string} [comment] The comment for this enum\n * @param {Object.} [comments] The value comments for this enum\n */\nfunction Enum(name, values, options, comment, comments) {\n ReflectionObject.call(this, name, options);\n\n if (values && typeof values !== \"object\")\n throw TypeError(\"values must be an object\");\n\n /**\n * Enum values by id.\n * @type {Object.}\n */\n this.valuesById = {};\n\n /**\n * Enum values by name.\n * @type {Object.}\n */\n this.values = Object.create(this.valuesById); // toJSON, marker\n\n /**\n * Enum comment text.\n * @type {string|null}\n */\n this.comment = comment;\n\n /**\n * Value comment texts, if any.\n * @type {Object.}\n */\n this.comments = comments || {};\n\n /**\n * Reserved ranges, if any.\n * @type {Array.}\n */\n this.reserved = undefined; // toJSON\n\n // Note that values inherit valuesById on their prototype which makes them a TypeScript-\n // compatible enum. This is used by pbts to write actual enum definitions that work for\n // static and reflection code alike instead of emitting generic object definitions.\n\n if (values)\n for (var keys = Object.keys(values), i = 0; i < keys.length; ++i)\n if (typeof values[keys[i]] === \"number\") // use forward entries only\n this.valuesById[ this.values[keys[i]] = values[keys[i]] ] = keys[i];\n}\n\n/**\n * Enum descriptor.\n * @interface IEnum\n * @property {Object.} values Enum values\n * @property {Object.} [options] Enum options\n */\n\n/**\n * Constructs an enum from an enum descriptor.\n * @param {string} name Enum name\n * @param {IEnum} json Enum descriptor\n * @returns {Enum} Created enum\n * @throws {TypeError} If arguments are invalid\n */\nEnum.fromJSON = function fromJSON(name, json) {\n var enm = new Enum(name, json.values, json.options, json.comment, json.comments);\n enm.reserved = json.reserved;\n return enm;\n};\n\n/**\n * Converts this enum to an enum descriptor.\n * @param {IToJSONOptions} [toJSONOptions] JSON conversion options\n * @returns {IEnum} Enum descriptor\n */\nEnum.prototype.toJSON = function toJSON(toJSONOptions) {\n var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;\n return util.toObject([\n \"options\" , this.options,\n \"values\" , this.values,\n \"reserved\" , this.reserved && this.reserved.length ? this.reserved : undefined,\n \"comment\" , keepComments ? this.comment : undefined,\n \"comments\" , keepComments ? this.comments : undefined\n ]);\n};\n\n/**\n * Adds a value to this enum.\n * @param {string} name Value name\n * @param {number} id Value id\n * @param {string} [comment] Comment, if any\n * @returns {Enum} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If there is already a value with this name or id\n */\nEnum.prototype.add = function add(name, id, comment) {\n // utilized by the parser but not by .fromJSON\n\n if (!util.isString(name))\n throw TypeError(\"name must be a string\");\n\n if (!util.isInteger(id))\n throw TypeError(\"id must be an integer\");\n\n if (this.values[name] !== undefined)\n throw Error(\"duplicate name '\" + name + \"' in \" + this);\n\n if (this.isReservedId(id))\n throw Error(\"id \" + id + \" is reserved in \" + this);\n\n if (this.isReservedName(name))\n throw Error(\"name '\" + name + \"' is reserved in \" + this);\n\n if (this.valuesById[id] !== undefined) {\n if (!(this.options && this.options.allow_alias))\n throw Error(\"duplicate id \" + id + \" in \" + this);\n this.values[name] = id;\n } else\n this.valuesById[this.values[name] = id] = name;\n\n this.comments[name] = comment || null;\n return this;\n};\n\n/**\n * Removes a value from this enum\n * @param {string} name Value name\n * @returns {Enum} `this`\n * @throws {TypeError} If arguments are invalid\n * @throws {Error} If `name` is not a name of this enum\n */\nEnum.prototype.remove = function remove(name) {\n\n if (!util.isString(name))\n throw TypeError(\"name must be a string\");\n\n var val = this.values[name];\n if (val == null)\n throw Error(\"name '\" + name + \"' does not exist in \" + this);\n\n delete this.valuesById[val];\n delete this.values[name];\n delete this.comments[name];\n\n return this;\n};\n\n/**\n * Tests if the specified id is reserved.\n * @param {number} id Id to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nEnum.prototype.isReservedId = function isReservedId(id) {\n return Namespace.isReservedId(this.reserved, id);\n};\n\n/**\n * Tests if the specified name is reserved.\n * @param {string} name Name to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nEnum.prototype.isReservedName = function isReservedName(name) {\n return Namespace.isReservedName(this.reserved, name);\n};\n","(function (name, definition) {\r\n if (typeof define === 'function' && define.amd) { // RequireJS / AMD\r\n define(definition);\r\n } else if (typeof module !== 'undefined' && module.exports) { // CommonJS / Node.js\r\n module.exports = definition();\r\n } else { // Direct include\r\n window.ysFixWebmDuration = definition();\r\n }\r\n})('fix-webm-duration', function () {\r\n /*\r\n * This is the list of possible WEBM file sections by their IDs.\r\n * Possible types: Container, Binary, Uint, Int, String, Float, Date\r\n */\r\n var sections = {\r\n 0xa45dfa3: { name: 'EBML', type: 'Container' },\r\n 0x286: { name: 'EBMLVersion', type: 'Uint' },\r\n 0x2f7: { name: 'EBMLReadVersion', type: 'Uint' },\r\n 0x2f2: { name: 'EBMLMaxIDLength', type: 'Uint' },\r\n 0x2f3: { name: 'EBMLMaxSizeLength', type: 'Uint' },\r\n 0x282: { name: 'DocType', type: 'String' },\r\n 0x287: { name: 'DocTypeVersion', type: 'Uint' },\r\n 0x285: { name: 'DocTypeReadVersion', type: 'Uint' },\r\n 0x6c: { name: 'Void', type: 'Binary' },\r\n 0x3f: { name: 'CRC-32', type: 'Binary' },\r\n 0xb538667: { name: 'SignatureSlot', type: 'Container' },\r\n 0x3e8a: { name: 'SignatureAlgo', type: 'Uint' },\r\n 0x3e9a: { name: 'SignatureHash', type: 'Uint' },\r\n 0x3ea5: { name: 'SignaturePublicKey', type: 'Binary' },\r\n 0x3eb5: { name: 'Signature', type: 'Binary' },\r\n 0x3e5b: { name: 'SignatureElements', type: 'Container' },\r\n 0x3e7b: { name: 'SignatureElementList', type: 'Container' },\r\n 0x2532: { name: 'SignedElement', type: 'Binary' },\r\n 0x8538067: { name: 'Segment', type: 'Container' },\r\n 0x14d9b74: { name: 'SeekHead', type: 'Container' },\r\n 0xdbb: { name: 'Seek', type: 'Container' },\r\n 0x13ab: { name: 'SeekID', type: 'Binary' },\r\n 0x13ac: { name: 'SeekPosition', type: 'Uint' },\r\n 0x549a966: { name: 'Info', type: 'Container' },\r\n 0x33a4: { name: 'SegmentUID', type: 'Binary' },\r\n 0x3384: { name: 'SegmentFilename', type: 'String' },\r\n 0x1cb923: { name: 'PrevUID', type: 'Binary' },\r\n 0x1c83ab: { name: 'PrevFilename', type: 'String' },\r\n 0x1eb923: { name: 'NextUID', type: 'Binary' },\r\n 0x1e83bb: { name: 'NextFilename', type: 'String' },\r\n 0x444: { name: 'SegmentFamily', type: 'Binary' },\r\n 0x2924: { name: 'ChapterTranslate', type: 'Container' },\r\n 0x29fc: { name: 'ChapterTranslateEditionUID', type: 'Uint' },\r\n 0x29bf: { name: 'ChapterTranslateCodec', type: 'Uint' },\r\n 0x29a5: { name: 'ChapterTranslateID', type: 'Binary' },\r\n 0xad7b1: { name: 'TimecodeScale', type: 'Uint' },\r\n 0x489: { name: 'Duration', type: 'Float' },\r\n 0x461: { name: 'DateUTC', type: 'Date' },\r\n 0x3ba9: { name: 'Title', type: 'String' },\r\n 0xd80: { name: 'MuxingApp', type: 'String' },\r\n 0x1741: { name: 'WritingApp', type: 'String' },\r\n // 0xf43b675: { name: 'Cluster', type: 'Container' },\r\n 0x67: { name: 'Timecode', type: 'Uint' },\r\n 0x1854: { name: 'SilentTracks', type: 'Container' },\r\n 0x18d7: { name: 'SilentTrackNumber', type: 'Uint' },\r\n 0x27: { name: 'Position', type: 'Uint' },\r\n 0x2b: { name: 'PrevSize', type: 'Uint' },\r\n 0x23: { name: 'SimpleBlock', type: 'Binary' },\r\n 0x20: { name: 'BlockGroup', type: 'Container' },\r\n 0x21: { name: 'Block', type: 'Binary' },\r\n 0x22: { name: 'BlockVirtual', type: 'Binary' },\r\n 0x35a1: { name: 'BlockAdditions', type: 'Container' },\r\n 0x26: { name: 'BlockMore', type: 'Container' },\r\n 0x6e: { name: 'BlockAddID', type: 'Uint' },\r\n 0x25: { name: 'BlockAdditional', type: 'Binary' },\r\n 0x1b: { name: 'BlockDuration', type: 'Uint' },\r\n 0x7a: { name: 'ReferencePriority', type: 'Uint' },\r\n 0x7b: { name: 'ReferenceBlock', type: 'Int' },\r\n 0x7d: { name: 'ReferenceVirtual', type: 'Int' },\r\n 0x24: { name: 'CodecState', type: 'Binary' },\r\n 0x35a2: { name: 'DiscardPadding', type: 'Int' },\r\n 0xe: { name: 'Slices', type: 'Container' },\r\n 0x68: { name: 'TimeSlice', type: 'Container' },\r\n 0x4c: { name: 'LaceNumber', type: 'Uint' },\r\n 0x4d: { name: 'FrameNumber', type: 'Uint' },\r\n 0x4b: { name: 'BlockAdditionID', type: 'Uint' },\r\n 0x4e: { name: 'Delay', type: 'Uint' },\r\n 0x4f: { name: 'SliceDuration', type: 'Uint' },\r\n 0x48: { name: 'ReferenceFrame', type: 'Container' },\r\n 0x49: { name: 'ReferenceOffset', type: 'Uint' },\r\n 0x4a: { name: 'ReferenceTimeCode', type: 'Uint' },\r\n 0x2f: { name: 'EncryptedBlock', type: 'Binary' },\r\n 0x654ae6b: { name: 'Tracks', type: 'Container' },\r\n 0x2e: { name: 'TrackEntry', type: 'Container' },\r\n 0x57: { name: 'TrackNumber', type: 'Uint' },\r\n 0x33c5: { name: 'TrackUID', type: 'Uint' },\r\n 0x3: { name: 'TrackType', type: 'Uint' },\r\n 0x39: { name: 'FlagEnabled', type: 'Uint' },\r\n 0x8: { name: 'FlagDefault', type: 'Uint' },\r\n 0x15aa: { name: 'FlagForced', type: 'Uint' },\r\n 0x1c: { name: 'FlagLacing', type: 'Uint' },\r\n 0x2de7: { name: 'MinCache', type: 'Uint' },\r\n 0x2df8: { name: 'MaxCache', type: 'Uint' },\r\n 0x3e383: { name: 'DefaultDuration', type: 'Uint' },\r\n 0x34e7a: { name: 'DefaultDecodedFieldDuration', type: 'Uint' },\r\n 0x3314f: { name: 'TrackTimecodeScale', type: 'Float' },\r\n 0x137f: { name: 'TrackOffset', type: 'Int' },\r\n 0x15ee: { name: 'MaxBlockAdditionID', type: 'Uint' },\r\n 0x136e: { name: 'Name', type: 'String' },\r\n 0x2b59c: { name: 'Language', type: 'String' },\r\n 0x6: { name: 'CodecID', type: 'String' },\r\n 0x23a2: { name: 'CodecPrivate', type: 'Binary' },\r\n 0x58688: { name: 'CodecName', type: 'String' },\r\n 0x3446: { name: 'AttachmentLink', type: 'Uint' },\r\n 0x1a9697: { name: 'CodecSettings', type: 'String' },\r\n 0x1b4040: { name: 'CodecInfoURL', type: 'String' },\r\n 0x6b240: { name: 'CodecDownloadURL', type: 'String' },\r\n 0x2a: { name: 'CodecDecodeAll', type: 'Uint' },\r\n 0x2fab: { name: 'TrackOverlay', type: 'Uint' },\r\n 0x16aa: { name: 'CodecDelay', type: 'Uint' },\r\n 0x16bb: { name: 'SeekPreRoll', type: 'Uint' },\r\n 0x2624: { name: 'TrackTranslate', type: 'Container' },\r\n 0x26fc: { name: 'TrackTranslateEditionUID', type: 'Uint' },\r\n 0x26bf: { name: 'TrackTranslateCodec', type: 'Uint' },\r\n 0x26a5: { name: 'TrackTranslateTrackID', type: 'Binary' },\r\n 0x60: { name: 'Video', type: 'Container' },\r\n 0x1a: { name: 'FlagInterlaced', type: 'Uint' },\r\n 0x13b8: { name: 'StereoMode', type: 'Uint' },\r\n 0x13c0: { name: 'AlphaMode', type: 'Uint' },\r\n 0x13b9: { name: 'OldStereoMode', type: 'Uint' },\r\n 0x30: { name: 'PixelWidth', type: 'Uint' },\r\n 0x3a: { name: 'PixelHeight', type: 'Uint' },\r\n 0x14aa: { name: 'PixelCropBottom', type: 'Uint' },\r\n 0x14bb: { name: 'PixelCropTop', type: 'Uint' },\r\n 0x14cc: { name: 'PixelCropLeft', type: 'Uint' },\r\n 0x14dd: { name: 'PixelCropRight', type: 'Uint' },\r\n 0x14b0: { name: 'DisplayWidth', type: 'Uint' },\r\n 0x14ba: { name: 'DisplayHeight', type: 'Uint' },\r\n 0x14b2: { name: 'DisplayUnit', type: 'Uint' },\r\n 0x14b3: { name: 'AspectRatioType', type: 'Uint' },\r\n 0xeb524: { name: 'ColourSpace', type: 'Binary' },\r\n 0xfb523: { name: 'GammaValue', type: 'Float' },\r\n 0x383e3: { name: 'FrameRate', type: 'Float' },\r\n 0x61: { name: 'Audio', type: 'Container' },\r\n 0x35: { name: 'SamplingFrequency', type: 'Float' },\r\n 0x38b5: { name: 'OutputSamplingFrequency', type: 'Float' },\r\n 0x1f: { name: 'Channels', type: 'Uint' },\r\n 0x3d7b: { name: 'ChannelPositions', type: 'Binary' },\r\n 0x2264: { name: 'BitDepth', type: 'Uint' },\r\n 0x62: { name: 'TrackOperation', type: 'Container' },\r\n 0x63: { name: 'TrackCombinePlanes', type: 'Container' },\r\n 0x64: { name: 'TrackPlane', type: 'Container' },\r\n 0x65: { name: 'TrackPlaneUID', type: 'Uint' },\r\n 0x66: { name: 'TrackPlaneType', type: 'Uint' },\r\n 0x69: { name: 'TrackJoinBlocks', type: 'Container' },\r\n 0x6d: { name: 'TrackJoinUID', type: 'Uint' },\r\n 0x40: { name: 'TrickTrackUID', type: 'Uint' },\r\n 0x41: { name: 'TrickTrackSegmentUID', type: 'Binary' },\r\n 0x46: { name: 'TrickTrackFlag', type: 'Uint' },\r\n 0x47: { name: 'TrickMasterTrackUID', type: 'Uint' },\r\n 0x44: { name: 'TrickMasterTrackSegmentUID', type: 'Binary' },\r\n 0x2d80: { name: 'ContentEncodings', type: 'Container' },\r\n 0x2240: { name: 'ContentEncoding', type: 'Container' },\r\n 0x1031: { name: 'ContentEncodingOrder', type: 'Uint' },\r\n 0x1032: { name: 'ContentEncodingScope', type: 'Uint' },\r\n 0x1033: { name: 'ContentEncodingType', type: 'Uint' },\r\n 0x1034: { name: 'ContentCompression', type: 'Container' },\r\n 0x254: { name: 'ContentCompAlgo', type: 'Uint' },\r\n 0x255: { name: 'ContentCompSettings', type: 'Binary' },\r\n 0x1035: { name: 'ContentEncryption', type: 'Container' },\r\n 0x7e1: { name: 'ContentEncAlgo', type: 'Uint' },\r\n 0x7e2: { name: 'ContentEncKeyID', type: 'Binary' },\r\n 0x7e3: { name: 'ContentSignature', type: 'Binary' },\r\n 0x7e4: { name: 'ContentSigKeyID', type: 'Binary' },\r\n 0x7e5: { name: 'ContentSigAlgo', type: 'Uint' },\r\n 0x7e6: { name: 'ContentSigHashAlgo', type: 'Uint' },\r\n 0xc53bb6b: { name: 'Cues', type: 'Container' },\r\n 0x3b: { name: 'CuePoint', type: 'Container' },\r\n 0x33: { name: 'CueTime', type: 'Uint' },\r\n 0x37: { name: 'CueTrackPositions', type: 'Container' },\r\n 0x77: { name: 'CueTrack', type: 'Uint' },\r\n 0x71: { name: 'CueClusterPosition', type: 'Uint' },\r\n 0x70: { name: 'CueRelativePosition', type: 'Uint' },\r\n 0x32: { name: 'CueDuration', type: 'Uint' },\r\n 0x1378: { name: 'CueBlockNumber', type: 'Uint' },\r\n 0x6a: { name: 'CueCodecState', type: 'Uint' },\r\n 0x5b: { name: 'CueReference', type: 'Container' },\r\n 0x16: { name: 'CueRefTime', type: 'Uint' },\r\n 0x17: { name: 'CueRefCluster', type: 'Uint' },\r\n 0x135f: { name: 'CueRefNumber', type: 'Uint' },\r\n 0x6b: { name: 'CueRefCodecState', type: 'Uint' },\r\n 0x941a469: { name: 'Attachments', type: 'Container' },\r\n 0x21a7: { name: 'AttachedFile', type: 'Container' },\r\n 0x67e: { name: 'FileDescription', type: 'String' },\r\n 0x66e: { name: 'FileName', type: 'String' },\r\n 0x660: { name: 'FileMimeType', type: 'String' },\r\n 0x65c: { name: 'FileData', type: 'Binary' },\r\n 0x6ae: { name: 'FileUID', type: 'Uint' },\r\n 0x675: { name: 'FileReferral', type: 'Binary' },\r\n 0x661: { name: 'FileUsedStartTime', type: 'Uint' },\r\n 0x662: { name: 'FileUsedEndTime', type: 'Uint' },\r\n 0x43a770: { name: 'Chapters', type: 'Container' },\r\n 0x5b9: { name: 'EditionEntry', type: 'Container' },\r\n 0x5bc: { name: 'EditionUID', type: 'Uint' },\r\n 0x5bd: { name: 'EditionFlagHidden', type: 'Uint' },\r\n 0x5db: { name: 'EditionFlagDefault', type: 'Uint' },\r\n 0x5dd: { name: 'EditionFlagOrdered', type: 'Uint' },\r\n 0x36: { name: 'ChapterAtom', type: 'Container' },\r\n 0x33c4: { name: 'ChapterUID', type: 'Uint' },\r\n 0x1654: { name: 'ChapterStringUID', type: 'String' },\r\n 0x11: { name: 'ChapterTimeStart', type: 'Uint' },\r\n 0x12: { name: 'ChapterTimeEnd', type: 'Uint' },\r\n 0x18: { name: 'ChapterFlagHidden', type: 'Uint' },\r\n 0x598: { name: 'ChapterFlagEnabled', type: 'Uint' },\r\n 0x2e67: { name: 'ChapterSegmentUID', type: 'Binary' },\r\n 0x2ebc: { name: 'ChapterSegmentEditionUID', type: 'Uint' },\r\n 0x23c3: { name: 'ChapterPhysicalEquiv', type: 'Uint' },\r\n 0xf: { name: 'ChapterTrack', type: 'Container' },\r\n 0x9: { name: 'ChapterTrackNumber', type: 'Uint' },\r\n 0x0: { name: 'ChapterDisplay', type: 'Container' },\r\n 0x5: { name: 'ChapString', type: 'String' },\r\n 0x37c: { name: 'ChapLanguage', type: 'String' },\r\n 0x37e: { name: 'ChapCountry', type: 'String' },\r\n 0x2944: { name: 'ChapProcess', type: 'Container' },\r\n 0x2955: { name: 'ChapProcessCodecID', type: 'Uint' },\r\n 0x50d: { name: 'ChapProcessPrivate', type: 'Binary' },\r\n 0x2911: { name: 'ChapProcessCommand', type: 'Container' },\r\n 0x2922: { name: 'ChapProcessTime', type: 'Uint' },\r\n 0x2933: { name: 'ChapProcessData', type: 'Binary' },\r\n 0x254c367: { name: 'Tags', type: 'Container' },\r\n 0x3373: { name: 'Tag', type: 'Container' },\r\n 0x23c0: { name: 'Targets', type: 'Container' },\r\n 0x28ca: { name: 'TargetTypeValue', type: 'Uint' },\r\n 0x23ca: { name: 'TargetType', type: 'String' },\r\n 0x23c5: { name: 'TagTrackUID', type: 'Uint' },\r\n 0x23c9: { name: 'TagEditionUID', type: 'Uint' },\r\n 0x23c4: { name: 'TagChapterUID', type: 'Uint' },\r\n 0x23c6: { name: 'TagAttachmentUID', type: 'Uint' },\r\n 0x27c8: { name: 'SimpleTag', type: 'Container' },\r\n 0x5a3: { name: 'TagName', type: 'String' },\r\n 0x47a: { name: 'TagLanguage', type: 'String' },\r\n 0x484: { name: 'TagDefault', type: 'Uint' },\r\n 0x487: { name: 'TagString', type: 'String' },\r\n 0x485: { name: 'TagBinary', type: 'Binary' }\r\n };\r\n\r\n function doInherit(newClass, baseClass) {\r\n newClass.prototype = Object.create(baseClass.prototype);\r\n newClass.prototype.constructor = newClass;\r\n }\r\n\r\n function WebmBase(name, type) {\r\n this.name = name || 'Unknown';\r\n this.type = type || 'Unknown';\r\n }\r\n WebmBase.prototype.updateBySource = function() { };\r\n WebmBase.prototype.setSource = function(source) {\r\n this.source = source;\r\n this.updateBySource();\r\n };\r\n WebmBase.prototype.updateByData = function() { };\r\n WebmBase.prototype.setData = function(data) {\r\n this.data = data;\r\n this.updateByData();\r\n };\r\n\r\n function WebmUint(name, type) {\r\n WebmBase.call(this, name, type || 'Uint');\r\n }\r\n doInherit(WebmUint, WebmBase);\r\n function padHex(hex) {\r\n return hex.length % 2 === 1 ? '0' + hex : hex;\r\n }\r\n WebmUint.prototype.updateBySource = function() {\r\n // use hex representation of a number instead of number value\r\n this.data = '';\r\n for (var i = 0; i < this.source.length; i++) {\r\n var hex = this.source[i].toString(16);\r\n this.data += padHex(hex);\r\n }\r\n };\r\n WebmUint.prototype.updateByData = function() {\r\n var length = this.data.length / 2;\r\n this.source = new Uint8Array(length);\r\n for (var i = 0; i < length; i++) {\r\n var hex = this.data.substr(i * 2, 2);\r\n this.source[i] = parseInt(hex, 16);\r\n }\r\n };\r\n WebmUint.prototype.getValue = function() {\r\n return parseInt(this.data, 16);\r\n };\r\n WebmUint.prototype.setValue = function(value) {\r\n this.setData(padHex(value.toString(16)));\r\n };\r\n\r\n function WebmFloat(name, type) {\r\n WebmBase.call(this, name, type || 'Float');\r\n }\r\n doInherit(WebmFloat, WebmBase);\r\n WebmFloat.prototype.getFloatArrayType = function() {\r\n return this.source && this.source.length === 4 ? Float32Array : Float64Array;\r\n };\r\n WebmFloat.prototype.updateBySource = function() {\r\n var byteArray = this.source.reverse();\r\n var floatArrayType = this.getFloatArrayType();\r\n var floatArray = new floatArrayType(byteArray.buffer);\r\n this.data = floatArray[0];\r\n };\r\n WebmFloat.prototype.updateByData = function() {\r\n var floatArrayType = this.getFloatArrayType();\r\n var floatArray = new floatArrayType([ this.data ]);\r\n var byteArray = new Uint8Array(floatArray.buffer);\r\n this.source = byteArray.reverse();\r\n };\r\n WebmFloat.prototype.getValue = function() {\r\n return this.data;\r\n };\r\n WebmFloat.prototype.setValue = function(value) {\r\n this.setData(value);\r\n };\r\n\r\n function WebmContainer(name, type) {\r\n WebmBase.call(this, name, type || 'Container');\r\n }\r\n doInherit(WebmContainer, WebmBase);\r\n WebmContainer.prototype.readByte = function() {\r\n return this.source[this.offset++];\r\n };\r\n WebmContainer.prototype.readUint = function() {\r\n var firstByte = this.readByte();\r\n var bytes = 8 - firstByte.toString(2).length;\r\n var value = firstByte - (1 << (7 - bytes));\r\n for (var i = 0; i < bytes; i++) {\r\n // don't use bit operators to support x86\r\n value *= 256;\r\n value += this.readByte();\r\n }\r\n return value;\r\n };\r\n WebmContainer.prototype.updateBySource = function() {\r\n this.data = [];\r\n for (this.offset = 0; this.offset < this.source.length; this.offset = end) {\r\n var id = this.readUint();\r\n var len = this.readUint();\r\n var end = Math.min(this.offset + len, this.source.length);\r\n var data = this.source.slice(this.offset, end);\r\n\r\n var info = sections[id] || { name: 'Unknown', type: 'Unknown' };\r\n var ctr = WebmBase;\r\n switch (info.type) {\r\n case 'Container':\r\n ctr = WebmContainer;\r\n break;\r\n case 'Uint':\r\n ctr = WebmUint;\r\n break;\r\n case 'Float':\r\n ctr = WebmFloat;\r\n break;\r\n }\r\n var section = new ctr(info.name, info.type);\r\n section.setSource(data);\r\n this.data.push({\r\n id: id,\r\n idHex: id.toString(16),\r\n data: section\r\n });\r\n }\r\n };\r\n WebmContainer.prototype.writeUint = function(x, draft) {\r\n for (var bytes = 1, flag = 0x80; x >= flag && bytes < 8; bytes++, flag *= 0x80) { }\r\n\r\n if (!draft) {\r\n var value = flag + x;\r\n for (var i = bytes - 1; i >= 0; i--) {\r\n // don't use bit operators to support x86\r\n var c = value % 256;\r\n this.source[this.offset + i] = c;\r\n value = (value - c) / 256;\r\n }\r\n }\r\n\r\n this.offset += bytes;\r\n };\r\n WebmContainer.prototype.writeSections = function(draft) {\r\n this.offset = 0;\r\n for (var i = 0; i < this.data.length; i++) {\r\n var section = this.data[i],\r\n content = section.data.source,\r\n contentLength = content.length;\r\n this.writeUint(section.id, draft);\r\n this.writeUint(contentLength, draft);\r\n if (!draft) {\r\n this.source.set(content, this.offset);\r\n }\r\n this.offset += contentLength;\r\n }\r\n return this.offset;\r\n };\r\n WebmContainer.prototype.updateByData = function() {\r\n // run without accessing this.source to determine total length - need to know it to create Uint8Array\r\n var length = this.writeSections('draft');\r\n this.source = new Uint8Array(length);\r\n // now really write data\r\n this.writeSections();\r\n };\r\n WebmContainer.prototype.getSectionById = function(id) {\r\n for (var i = 0; i < this.data.length; i++) {\r\n var section = this.data[i];\r\n if (section.id === id) {\r\n return section.data;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n function WebmFile(source) {\r\n WebmContainer.call(this, 'File', 'File');\r\n this.setSource(source);\r\n }\r\n doInherit(WebmFile, WebmContainer);\r\n WebmFile.prototype.fixDuration = function(duration, options) {\r\n var logger = options && options.logger;\r\n if (logger === undefined) {\r\n logger = function(message) {\r\n console.log(message);\r\n };\r\n } else if (!logger) {\r\n logger = function() { };\r\n }\r\n\r\n var segmentSection = this.getSectionById(0x8538067);\r\n if (!segmentSection) {\r\n logger('[fix-webm-duration] Segment section is missing');\r\n return false;\r\n }\r\n\r\n var infoSection = segmentSection.getSectionById(0x549a966);\r\n if (!infoSection) {\r\n logger('[fix-webm-duration] Info section is missing');\r\n return false;\r\n }\r\n\r\n var timeScaleSection = infoSection.getSectionById(0xad7b1);\r\n if (!timeScaleSection) {\r\n logger('[fix-webm-duration] TimecodeScale section is missing');\r\n return false;\r\n }\r\n\r\n var durationSection = infoSection.getSectionById(0x489);\r\n if (durationSection) {\r\n if (durationSection.getValue() <= 0) {\r\n logger('[fix-webm-duration] Duration section is present, but the value is empty');\r\n durationSection.setValue(duration);\r\n } else {\r\n logger('[fix-webm-duration] Duration section is present');\r\n return false;\r\n }\r\n } else {\r\n logger('[fix-webm-duration] Duration section is missing');\r\n // append Duration section\r\n durationSection = new WebmFloat('Duration', 'Float');\r\n durationSection.setValue(duration);\r\n infoSection.data.push({\r\n id: 0x489,\r\n data: durationSection\r\n });\r\n }\r\n\r\n // set default time scale to 1 millisecond (1000000 nanoseconds)\r\n timeScaleSection.setValue(1000000);\r\n infoSection.updateByData();\r\n segmentSection.updateByData();\r\n this.updateByData();\r\n\r\n return true;\r\n };\r\n WebmFile.prototype.toBlob = function(mimeType) {\r\n return new Blob([ this.source.buffer ], { type: mimeType || 'video/webm' });\r\n };\r\n\r\n function fixWebmDuration(blob, duration, callback, options) {\r\n // The callback may be omitted - then the third argument is options\r\n if (typeof callback === \"object\") {\r\n options = callback;\r\n callback = undefined;\r\n }\r\n\r\n if (!callback) {\r\n return new Promise(function(resolve) {\r\n fixWebmDuration(blob, duration, resolve, options);\r\n });\r\n }\r\n\r\n try {\r\n var reader = new FileReader();\r\n reader.onloadend = function() {\r\n try {\r\n var file = new WebmFile(new Uint8Array(reader.result));\r\n if (file.fixDuration(duration, options)) {\r\n blob = file.toBlob(blob.type);\r\n }\r\n } catch (ex) {\r\n // ignore\r\n }\r\n callback(blob);\r\n };\r\n reader.readAsArrayBuffer(blob);\r\n } catch (ex) {\r\n callback(blob);\r\n }\r\n }\r\n\r\n // Support AMD import default\r\n fixWebmDuration.default = fixWebmDuration;\r\n\r\n return fixWebmDuration;\r\n});\r\n","export default {\n getChromiumVersion() {\n return parseInt((navigator.userAgentData && navigator.userAgentData.brands.find((x) => x.brand === 'Chromium').version), 10);\n },\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('card',{attrs:{\"external-card\":\"card material-card material-card-overflow\",\"internal-card\":\"material-card-content internal-card-file-transfer\",\"url-help\":\"\"}},[_c('p',{staticClass:\"subtitle\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('b',[_vm._v(_vm._s(_vm.title))])]),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{staticClass:\"header-container\"},[_c('b-breadcrumb',_vm._l((_vm.breadcrumbs),function(breadcrumb){return _c('b-breadcrumb-item',{key:breadcrumb.index,on:{\"click\":() => _vm.getBackTo(breadcrumb)}},[_vm._v(\" \"+_vm._s(_vm.breadcrumbs.length > 1 && breadcrumb.name === _vm.breadcrumbs[1].name && breadcrumb.name !== '' ? `Local Disk (${breadcrumb.name})` : breadcrumb.name)+\" \")])}),1),_c('b-tooltip',{attrs:{\"label\":\"Refresh\",\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{attrs:{\"type\":\"is-white\"},on:{\"click\":function($event){return _vm.onNavigateTo(_vm.pathToDir)}}},[_c('b-icon',{attrs:{\"icon\":\"refresh\"}})],1)],1)],1),(_vm.folders.length >= 1 && _vm.customMessage === null)?_c('b-table',{attrs:{\"data\":_vm.folders,\"selected\":_vm.selected,\"sticky-header\":true,\"mobile-cards\":false,\"hoverable\":true},on:{\"update:selected\":function($event){_vm.selected=$event}}},[_c('b-table-column',{attrs:{\"field\":\"name\",\"label\":\"Name\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.name)+\" \")]}}],null,false,2982927002)}),_c('b-table-column',{attrs:{\"field\":\"type\",\"label\":\"Type\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.type)+\" \")]}}],null,false,1218402693)}),_c('b-table-column',{attrs:{\"field\":\"size\",\"label\":\"Size\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [(props.row.size)?_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"bytesSize\")(props.row.size,'iec'))+\" \")]):_vm._e()]}}],null,false,3485726619)})],1):(_vm.customMessage !== null && _vm.noHardDiskAccessMessage(_vm.customMessage))?_c('div',{staticStyle:{\"padding\":\"60px 0px\"}},[_c('p',{staticStyle:{\"font-size\":\"20px\",\"margin\":\"12px\"}},[_vm._v(\" Full Disk access permissions are disabled, enable them to get access in current folder. \")]),_c('button',{class:{ 'button': true, 'is-primary': true},on:{\"click\":function($event){return _vm.crossHelper.openExternalLink('https://help.boardgent.com/en/articles/6719630-how-to-enable-file-transfer-on-mac', true)}}},[_c('span',[_vm._v(\"Learn how to enable disk access permissions\")])]),_vm._v(\" \"),_c('br'),_c('br'),_vm._v(\" \"),_c('button',{class:{ 'button': true, 'is-primary': true},on:{\"click\":_vm.reviewDiskAccessPermissions}},[_c('span',[_vm._v(\"Check permissions\")])])]):_c('p',[_vm._v(\" The selected folder is empty \")]),_c('b-loading',{attrs:{\"is-full-page\":false,\"active\":_vm.isGettingFolder || (_vm.breadcrumbs.length <= 1 && _vm.folders.length < 1),\"can-cancel\":false}}),(_vm.transferingFile || _vm.progressBarMessage !== '')?_c('div',{staticClass:\"mt-3 mb-3\",staticStyle:{\"display\":\"flex\",\"width\":\"100%\",\"justify-content\":\"space-between\",\"padding-right\":\"10px\"}},[_c('div',{staticStyle:{\"align-self\":\"center\",\"flex\":\"1\"}},[(_vm.progressBarMessage)?_c('b-progress',{attrs:{\"type\":\"is-primary\",\"size\":'is-large',\"show-value\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.progressBarMessage)+\" \")]):_c('b-progress',{attrs:{\"type\":\"is-primary\",\"size\":'is-large',\"value\":_vm.percentageFileTransferred,\"show-value\":\"\"}},[_vm._v(\" Transfer in progress \"+_vm._s(_vm.percentageFileTransferred.toFixed(1))+\"% \")])],1),_c('div',[_c('b-button',{staticClass:\"is-secondary\",staticStyle:{\"margin-left\":\"10px\"},attrs:{\"disabled\":_vm.progressBarMessage !== ''},on:{\"~click\":function($event){return (() => _vm.cancelTransferFile()).apply(null, arguments)}}},[_vm._v(\" Cancel \")])],1)]):_vm._e()],1),(!_vm.fileExistInRemote)?_c('footer',{staticClass:\"card-footer has-text-centered modal-card-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('b-field',{staticClass:\"file is-primary my-input force-right\",class:!_vm.isInsideFolder || _vm.transferingFile || _vm.progressBarMessage !== ''\n || _vm.customMessage !== null || _vm.isReadOnly\n ? 'upload-disabled' : ''},[_c('b-upload',{key:_vm.count,staticClass:\"file-label\",attrs:{\"disabled\":!_vm.isInsideFolder\n || _vm.transferingFile\n || _vm.progressBarMessage !== ''\n || _vm.customMessage !== null\n || _vm.isReadOnly},model:{value:(_vm.file),callback:function ($$v) {_vm.file=$$v},expression:\"file\"}},[_c('span',{staticClass:\"file-cta\"},[_c('b-icon',{staticClass:\"file-icon\",attrs:{\"icon\":\"upload\"}}),_c('span',{staticClass:\"file-label\"},[_vm._v(\"Send\")])],1)])],1),_c('b-tooltip',{staticStyle:{\"margin-left\":\"0.5em\"},attrs:{\"active\":_vm.selectedBigFile,\"label\":\"Currently we cannot send files larger than 1GB\",\"type\":\"is-dark\",\"position\":\"is-bottom\"}},[_c('b-button',{staticClass:\"is-primary\",staticStyle:{\"display\":\"flex\",\"align-items\":\"baseline\"},attrs:{\"disabled\":!_vm.selectedFile || _vm.selectedBigFile || _vm.transferingFile\n || _vm.progressBarMessage !== ''},on:{\"click\":() => _vm.requestSelectedFile()}},[_c('b-icon',{attrs:{\"icon\":\"download\"}}),_c('span',{staticStyle:{\"position\":\"relative\",\"top\":\"-3px\"}},[_vm._v(\"Receive\")])],1)],1),_c('button',{staticClass:\"button is-outlined is-primary\",staticStyle:{\"margin-left\":\"0.5em\"},attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.$parent.close()}}},[_vm._v(\" Close \")])],1):_c('footer',{staticClass:\"card-footer has-text-centered modal-card-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('p',{staticClass:\"has-text-weight-medium\",staticStyle:{\"padding-top\":\"8px\"}},[_vm._v(\" The selected file already exists in the path. Do you want to transfer anyway? \")]),_c('div',{staticClass:\"force-right\"},[_c('b-button',{staticClass:\"is-primary\",staticStyle:{\"display\":\"flex\",\"align-items\":\"baseline\"},on:{\"click\":() => { _vm.fileExistInRemote = false; _vm.onSendToRemoteFile(_vm.file);}}},[_vm._v(\" Transfer \")]),_c('b-button',{staticClass:\"is-primary\",staticStyle:{\"display\":\"flex\",\"align-items\":\"baseline\"},attrs:{\"outlined\":\"\"},on:{\"click\":() => _vm.fileExistInRemote = false}},[_vm._v(\" Cancel \")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferFileModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferFileModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TransferFileModal.vue?vue&type=template&id=6d6ec507&\"\nimport script from \"./TransferFileModal.vue?vue&type=script&lang=js&\"\nexport * from \"./TransferFileModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TransferFileModal.vue?vue&type=style&index=0&id=6d6ec507&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DevicePasswordManager.vue?vue&type=style&index=0&id=415d25a6&prod&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceBitlocker.vue?vue&type=style&index=1&id=5d32a1be&prod&lang=css&\"","\"use strict\";\r\n\r\n/**\r\n * A minimal UTF8 implementation for number arrays.\r\n * @memberof util\r\n * @namespace\r\n */\r\nvar utf8 = exports;\r\n\r\n/**\r\n * Calculates the UTF8 byte length of a string.\r\n * @param {string} string String\r\n * @returns {number} Byte length\r\n */\r\nutf8.length = function utf8_length(string) {\r\n var len = 0,\r\n c = 0;\r\n for (var i = 0; i < string.length; ++i) {\r\n c = string.charCodeAt(i);\r\n if (c < 128)\r\n len += 1;\r\n else if (c < 2048)\r\n len += 2;\r\n else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {\r\n ++i;\r\n len += 4;\r\n } else\r\n len += 3;\r\n }\r\n return len;\r\n};\r\n\r\n/**\r\n * Reads UTF8 bytes as a string.\r\n * @param {Uint8Array} buffer Source buffer\r\n * @param {number} start Source start\r\n * @param {number} end Source end\r\n * @returns {string} String read\r\n */\r\nutf8.read = function utf8_read(buffer, start, end) {\r\n var len = end - start;\r\n if (len < 1)\r\n return \"\";\r\n var parts = null,\r\n chunk = [],\r\n i = 0, // char offset\r\n t; // temporary\r\n while (start < end) {\r\n t = buffer[start++];\r\n if (t < 128)\r\n chunk[i++] = t;\r\n else if (t > 191 && t < 224)\r\n chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;\r\n else if (t > 239 && t < 365) {\r\n t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000;\r\n chunk[i++] = 0xD800 + (t >> 10);\r\n chunk[i++] = 0xDC00 + (t & 1023);\r\n } else\r\n chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63;\r\n if (i > 8191) {\r\n (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));\r\n i = 0;\r\n }\r\n }\r\n if (parts) {\r\n if (i)\r\n parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));\r\n return parts.join(\"\");\r\n }\r\n return String.fromCharCode.apply(String, chunk.slice(0, i));\r\n};\r\n\r\n/**\r\n * Writes a string as UTF8 bytes.\r\n * @param {string} string Source string\r\n * @param {Uint8Array} buffer Destination buffer\r\n * @param {number} offset Destination offset\r\n * @returns {number} Bytes written\r\n */\r\nutf8.write = function utf8_write(string, buffer, offset) {\r\n var start = offset,\r\n c1, // character 1\r\n c2; // character 2\r\n for (var i = 0; i < string.length; ++i) {\r\n c1 = string.charCodeAt(i);\r\n if (c1 < 128) {\r\n buffer[offset++] = c1;\r\n } else if (c1 < 2048) {\r\n buffer[offset++] = c1 >> 6 | 192;\r\n buffer[offset++] = c1 & 63 | 128;\r\n } else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {\r\n c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);\r\n ++i;\r\n buffer[offset++] = c1 >> 18 | 240;\r\n buffer[offset++] = c1 >> 12 & 63 | 128;\r\n buffer[offset++] = c1 >> 6 & 63 | 128;\r\n buffer[offset++] = c1 & 63 | 128;\r\n } else {\r\n buffer[offset++] = c1 >> 12 | 224;\r\n buffer[offset++] = c1 >> 6 & 63 | 128;\r\n buffer[offset++] = c1 & 63 | 128;\r\n }\r\n }\r\n return offset - start;\r\n};\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceBitlockerPasswordHistory.vue?vue&type=style&index=1&id=65923a96&prod&scoped=true&lang=css&\"","\"use strict\";\n\n/**\n * Various utility functions.\n * @namespace\n */\nvar util = module.exports = require(\"./util/minimal\");\n\nvar roots = require(\"./roots\");\n\nvar Type, // cyclic\n Enum;\n\nutil.codegen = require(\"@protobufjs/codegen\");\nutil.fetch = require(\"@protobufjs/fetch\");\nutil.path = require(\"@protobufjs/path\");\n\n/**\n * Node's fs module if available.\n * @type {Object.}\n */\nutil.fs = util.inquire(\"fs\");\n\n/**\n * Converts an object's values to an array.\n * @param {Object.} object Object to convert\n * @returns {Array.<*>} Converted array\n */\nutil.toArray = function toArray(object) {\n if (object) {\n var keys = Object.keys(object),\n array = new Array(keys.length),\n index = 0;\n while (index < keys.length)\n array[index] = object[keys[index++]];\n return array;\n }\n return [];\n};\n\n/**\n * Converts an array of keys immediately followed by their respective value to an object, omitting undefined values.\n * @param {Array.<*>} array Array to convert\n * @returns {Object.} Converted object\n */\nutil.toObject = function toObject(array) {\n var object = {},\n index = 0;\n while (index < array.length) {\n var key = array[index++],\n val = array[index++];\n if (val !== undefined)\n object[key] = val;\n }\n return object;\n};\n\nvar safePropBackslashRe = /\\\\/g,\n safePropQuoteRe = /\"/g;\n\n/**\n * Tests whether the specified name is a reserved word in JS.\n * @param {string} name Name to test\n * @returns {boolean} `true` if reserved, otherwise `false`\n */\nutil.isReserved = function isReserved(name) {\n return /^(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$/.test(name);\n};\n\n/**\n * Returns a safe property accessor for the specified property name.\n * @param {string} prop Property name\n * @returns {string} Safe accessor\n */\nutil.safeProp = function safeProp(prop) {\n if (!/^[$\\w_]+$/.test(prop) || util.isReserved(prop))\n return \"[\\\"\" + prop.replace(safePropBackslashRe, \"\\\\\\\\\").replace(safePropQuoteRe, \"\\\\\\\"\") + \"\\\"]\";\n return \".\" + prop;\n};\n\n/**\n * Converts the first character of a string to upper case.\n * @param {string} str String to convert\n * @returns {string} Converted string\n */\nutil.ucFirst = function ucFirst(str) {\n return str.charAt(0).toUpperCase() + str.substring(1);\n};\n\nvar camelCaseRe = /_([a-z])/g;\n\n/**\n * Converts a string to camel case.\n * @param {string} str String to convert\n * @returns {string} Converted string\n */\nutil.camelCase = function camelCase(str) {\n return str.substring(0, 1)\n + str.substring(1)\n .replace(camelCaseRe, function($0, $1) { return $1.toUpperCase(); });\n};\n\n/**\n * Compares reflected fields by id.\n * @param {Field} a First field\n * @param {Field} b Second field\n * @returns {number} Comparison value\n */\nutil.compareFieldsById = function compareFieldsById(a, b) {\n return a.id - b.id;\n};\n\n/**\n * Decorator helper for types (TypeScript).\n * @param {Constructor} ctor Constructor function\n * @param {string} [typeName] Type name, defaults to the constructor's name\n * @returns {Type} Reflected type\n * @template T extends Message\n * @property {Root} root Decorators root\n */\nutil.decorateType = function decorateType(ctor, typeName) {\n\n /* istanbul ignore if */\n if (ctor.$type) {\n if (typeName && ctor.$type.name !== typeName) {\n util.decorateRoot.remove(ctor.$type);\n ctor.$type.name = typeName;\n util.decorateRoot.add(ctor.$type);\n }\n return ctor.$type;\n }\n\n /* istanbul ignore next */\n if (!Type)\n Type = require(\"./type\");\n\n var type = new Type(typeName || ctor.name);\n util.decorateRoot.add(type);\n type.ctor = ctor; // sets up .encode, .decode etc.\n Object.defineProperty(ctor, \"$type\", { value: type, enumerable: false });\n Object.defineProperty(ctor.prototype, \"$type\", { value: type, enumerable: false });\n return type;\n};\n\nvar decorateEnumIndex = 0;\n\n/**\n * Decorator helper for enums (TypeScript).\n * @param {Object} object Enum object\n * @returns {Enum} Reflected enum\n */\nutil.decorateEnum = function decorateEnum(object) {\n\n /* istanbul ignore if */\n if (object.$type)\n return object.$type;\n\n /* istanbul ignore next */\n if (!Enum)\n Enum = require(\"./enum\");\n\n var enm = new Enum(\"Enum\" + decorateEnumIndex++, object);\n util.decorateRoot.add(enm);\n Object.defineProperty(object, \"$type\", { value: enm, enumerable: false });\n return enm;\n};\n\n\n/**\n * Sets the value of a property by property path. If a value already exists, it is turned to an array\n * @param {Object.} dst Destination object\n * @param {string} path dot '.' delimited path of the property to set\n * @param {Object} value the value to set\n * @returns {Object.} Destination object\n */\nutil.setProperty = function setProperty(dst, path, value) {\n function setProp(dst, path, value) {\n var part = path.shift();\n if (part === \"__proto__\") {\n return dst;\n }\n if (path.length > 0) {\n dst[part] = setProp(dst[part] || {}, path, value);\n } else {\n var prevValue = dst[part];\n if (prevValue)\n value = [].concat(prevValue).concat(value);\n dst[part] = value;\n }\n return dst;\n }\n\n if (typeof dst !== \"object\")\n throw TypeError(\"dst must be an object\");\n if (!path)\n throw TypeError(\"path must be specified\");\n\n path = path.split(\".\");\n return setProp(dst, path, value);\n};\n\n/**\n * Decorator root (TypeScript).\n * @name util.decorateRoot\n * @type {Root}\n * @readonly\n */\nObject.defineProperty(util, \"decorateRoot\", {\n get: function() {\n return roots[\"decorated\"] || (roots[\"decorated\"] = new (require(\"./root\"))());\n }\n});\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferFileModal.vue?vue&type=style&index=0&id=6d6ec507&prod&lang=css&\"","module.exports = {\n IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },\n DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },\n HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },\n WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },\n InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },\n NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },\n NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },\n NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },\n NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },\n InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },\n InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },\n SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },\n InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },\n NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },\n InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },\n ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },\n TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },\n SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },\n NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },\n AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },\n URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },\n QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },\n TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },\n InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },\n DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceAmtDetails.vue?vue&type=style&index=0&id=331415d4&prod&scoped=true&lang=css&\"","\"use strict\";\r\nmodule.exports = inquire;\r\n\r\n/**\r\n * Requires a module only if available.\r\n * @memberof util\r\n * @param {string} moduleName Module to require\r\n * @returns {?Object} Required module if available and not empty, otherwise `null`\r\n */\r\nfunction inquire(moduleName) {\r\n try {\r\n var mod = eval(\"quire\".replace(/^/,\"re\"))(moduleName); // eslint-disable-line no-eval\r\n if (mod && (mod.length || Object.keys(mod).length))\r\n return mod;\r\n } catch (e) {} // eslint-disable-line no-empty\r\n return null;\r\n}\r\n","var aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar $TypeError = TypeError;\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aCallable(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(O);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw $TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"over_map\"}},[(_vm.validateIfHasPermission([_vm.permissions.GEOFENCING.value.dbValue]))?_c('b-collapse',{staticClass:\"card\",staticStyle:{\"width\":\"300px\",\"max-height\":\"400px\"},attrs:{\"open\":false,\"animation\":\"slide\",\"aria-id\":\"contentIdForA11y3\"},on:{\"open\":function($event){_vm.selectedPerimeter= 0},\"close\":function($event){_vm.selectedPerimeter = null}},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return [_c('div',{staticClass:\"card-header\",attrs:{\"role\":\"button\",\"aria-controls\":\"contentIdForA11y3\",\"aria-expanded\":props.open}},[_c('p',{staticClass:\"card-header-title\",staticStyle:{\"flex-wrap\":\"wrap\",\"gap\":\"5px 5px\"}},[_c('b-icon',{attrs:{\"icon\":\"target\"}}),_vm._v(\" Manage geo-fences \")],1),_c('a',{staticClass:\"card-header-icon\"},[_c('b-icon',{attrs:{\"icon\":props.open ? 'menu-up' : 'menu-down'}})],1)])]}}],null,false,952673819)},[_c('div',{staticClass:\"custom-card\"},[_c('div',{staticClass:\"force-right\",staticStyle:{\"flex-wrap\":\"wrap\",\"gap\":\"5px 5px\",\"margin-bottom\":\"10px\"}},[_c('b-button',{staticClass:\"button is-primary\",attrs:{\"icon-right\":\"content-save\",\"size\":\"is-small\"},on:{\"click\":function($event){return _vm.savePerimeters()}}}),_c('b-button',{staticClass:\"button is-primary\",attrs:{\"icon-right\":\"plus\",\"size\":\"is-small\"},on:{\"click\":function($event){return _vm.addNewPath()}}}),(_vm.perimeters.length > 0)?_c('b-button',{staticClass:\"button is-secondary\",attrs:{\"icon-right\":\"delete\",\"size\":\"is-small\"},on:{\"click\":function($event){return _vm.removePath()}}}):_vm._e()],1),_c('b-field',{attrs:{\"group-multiline\":\"\",\"grouped\":\"\"}},[(_vm.perimeters.length > 0)?_c('b-field',{staticStyle:{\"margin-bottom\":\"10px\"},attrs:{\"horizontal\":\"\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_vm._v(\" Geo‑fence \")]},proxy:true}],null,false,3654992524)},[(_vm.selectedPerimeter !== null)?_c('b-dropdown',{attrs:{\"aria-role\":\"list\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function({ active }){return [_c('b-button',{staticStyle:{\"width\":\"150px !important\"},attrs:{\"icon-right\":active ? 'menu-up' : 'menu-down',\"label\":_vm.perimeters.length > 0 ? _vm.perimeters[_vm.selectedPerimeter].name\n : 'Select geo-fence'}})]}}],null,false,2602135520),model:{value:(_vm.selectedPerimeter),callback:function ($$v) {_vm.selectedPerimeter=$$v},expression:\"selectedPerimeter\"}},_vm._l((_vm.perimeters),function(perimeter,index){return _c('b-dropdown-item',{key:index,attrs:{\"aria-role\":\"listitem\",\"value\":perimeter.value}},[_vm._v(\" \"+_vm._s(perimeter.name)+\" \")])}),1):_vm._e()],1):_vm._e(),(_vm.perimeters.length > 0)?_c('b-field',{staticStyle:{\"margin-bottom\":\"10px\"},attrs:{\"label\":\"Type\",\"horizontal\":\"\"}},[(_vm.selectedPerimeter !== null)?_c('b-dropdown',{attrs:{\"aria-role\":\"list\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function({ active }){return [_c('b-button',{attrs:{\"label\":_vm.perimeters[_vm.selectedPerimeter].type.text,\"icon-left\":_vm.perimeters[_vm.selectedPerimeter].type.icon,\"icon-right\":active ? 'menu-up' : 'menu-down'}})]}}],null,false,822008054),model:{value:(_vm.perimeters[_vm.selectedPerimeter].type),callback:function ($$v) {_vm.$set(_vm.perimeters[_vm.selectedPerimeter], \"type\", $$v)},expression:\"perimeters[selectedPerimeter].type\"}},_vm._l((_vm.locationPerimeterType.enums.map((x) => x.value)),function(type,index){return _c('b-dropdown-item',{key:index,attrs:{\"value\":type,\"aria-role\":\"listitem\"}},[_c('div',{staticClass:\"media\"},[_c('b-icon',{staticClass:\"media-left\",attrs:{\"icon\":type.icon}}),_c('div',{staticClass:\"media-content\"},[_c('h3',[_vm._v(_vm._s(type.text))])])],1)])}),1):_vm._e()],1):_vm._e()],1),(_vm.perimeters.length > 0 && _vm.selectedPerimeter !== null\n && _vm.perimeters[_vm.selectedPerimeter].type.dbValue\n === _vm.locationPerimeterType.MARKER.value.dbValue)?_c('div',[_c('hr'),_c('b-field',{staticStyle:{\"margin-bottom\":\"10%\"}},[_c('b-input',{attrs:{\"expanded\":\"\",\"placeholder\":\"Address\",\"type\":\"text\",\"size\":\"is-small\"},model:{value:(_vm.searchAddressInput.address),callback:function ($$v) {_vm.$set(_vm.searchAddressInput, \"address\", $$v)},expression:\"searchAddressInput.address\"}}),_c('b-input',{attrs:{\"size\":\"is-small\",\"placeholder\":\"City\",\"type\":\"text\"},model:{value:(_vm.searchAddressInput.city),callback:function ($$v) {_vm.$set(_vm.searchAddressInput, \"city\", $$v)},expression:\"searchAddressInput.city\"}}),_c('b-button',{staticClass:\"button\",attrs:{\"icon-right\":\"magnify\",\"size\":\"is-small\"},on:{\"click\":function($event){return _vm.searchLocation()}}})],1),_c('b-field',{staticClass:\"center\",attrs:{\"label\":\"Center\",\"horizontal\":\"\",\"grouped\":\"\"}},[_c('b-field',{attrs:{\"label\":\"Latitude\",\"label-position\":\"on-border\"}},[_c('b-input',{attrs:{\"type\":\"text\"},model:{value:(_vm.perimeters[_vm.selectedPerimeter].center.lat),callback:function ($$v) {_vm.$set(_vm.perimeters[_vm.selectedPerimeter].center, \"lat\", $$v)},expression:\"perimeters[selectedPerimeter].center.lat\"}})],1),_c('b-field',{attrs:{\"label\":\"Longitude\",\"label-position\":\"on-border\"}},[_c('b-input',{attrs:{\"type\":\"text\"},model:{value:(_vm.perimeters[_vm.selectedPerimeter].center.lng),callback:function ($$v) {_vm.$set(_vm.perimeters[_vm.selectedPerimeter].center, \"lng\", $$v)},expression:\"perimeters[selectedPerimeter].center.lng\"}})],1)],1),_c('b-field',{staticClass:\"radius\",staticStyle:{\"width\":\"65px\"},attrs:{\"label\":\"Radius\",\"horizontal\":\"\"}},[_c('b-input',{staticStyle:{\"width\":\"65px\"},attrs:{\"type\":\"text\"},model:{value:(_vm.perimeters[_vm.selectedPerimeter].radius),callback:function ($$v) {_vm.$set(_vm.perimeters[_vm.selectedPerimeter], \"radius\", $$v)},expression:\"perimeters[selectedPerimeter].radius\"}}),_vm._v(\" \"),_c('p',[_c('strong',[_vm._v(\"m\")])])],1)],1):_vm._e()],1)]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ManageGeofences.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ManageGeofences.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ManageGeofences.vue?vue&type=template&id=4f9fa456&\"\nimport script from \"./ManageGeofences.vue?vue&type=script&lang=js&\"\nexport * from \"./ManageGeofences.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ManageGeofences.vue?vue&type=style&index=0&id=4f9fa456&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\nmodule.exports = BufferWriter;\n\n// extends Writer\nvar Writer = require(\"./writer\");\n(BufferWriter.prototype = Object.create(Writer.prototype)).constructor = BufferWriter;\n\nvar util = require(\"./util/minimal\");\n\n/**\n * Constructs a new buffer writer instance.\n * @classdesc Wire format writer using node buffers.\n * @extends Writer\n * @constructor\n */\nfunction BufferWriter() {\n Writer.call(this);\n}\n\nBufferWriter._configure = function () {\n /**\n * Allocates a buffer of the specified size.\n * @function\n * @param {number} size Buffer size\n * @returns {Buffer} Buffer\n */\n BufferWriter.alloc = util._Buffer_allocUnsafe;\n\n BufferWriter.writeBytesBuffer = util.Buffer && util.Buffer.prototype instanceof Uint8Array && util.Buffer.prototype.set.name === \"set\"\n ? function writeBytesBuffer_set(val, buf, pos) {\n buf.set(val, pos); // faster than copy (requires node >= 4 where Buffers extend Uint8Array and set is properly inherited)\n // also works for plain array values\n }\n /* istanbul ignore next */\n : function writeBytesBuffer_copy(val, buf, pos) {\n if (val.copy) // Buffer values\n val.copy(buf, pos, 0, val.length);\n else for (var i = 0; i < val.length;) // plain array values\n buf[pos++] = val[i++];\n };\n};\n\n\n/**\n * @override\n */\nBufferWriter.prototype.bytes = function write_bytes_buffer(value) {\n if (util.isString(value))\n value = util._Buffer_from(value, \"base64\");\n var len = value.length >>> 0;\n this.uint32(len);\n if (len)\n this._push(BufferWriter.writeBytesBuffer, len, value);\n return this;\n};\n\nfunction writeStringBuffer(val, buf, pos) {\n if (val.length < 40) // plain js is faster for short strings (probably due to redundant assertions)\n util.utf8.write(val, buf, pos);\n else if (buf.utf8Write)\n buf.utf8Write(val, pos);\n else\n buf.write(val, pos);\n}\n\n/**\n * @override\n */\nBufferWriter.prototype.string = function write_string_buffer(value) {\n var len = util.Buffer.byteLength(value);\n this.uint32(len);\n if (len)\n this._push(writeStringBuffer, len, value);\n return this;\n};\n\n\n/**\n * Finishes the write operation.\n * @name BufferWriter#finish\n * @function\n * @returns {Buffer} Finished buffer\n */\n\nBufferWriter._configure();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DevicePasswordHistory.vue?vue&type=style&index=0&id=39b6cd2c&prod&scoped=true&lang=css&\"","\"use strict\";\nmodule.exports = decoder;\n\nvar Enum = require(\"./enum\"),\n types = require(\"./types\"),\n util = require(\"./util\");\n\nfunction missing(field) {\n return \"missing required '\" + field.name + \"'\";\n}\n\n/**\n * Generates a decoder specific to the specified message type.\n * @param {Type} mtype Message type\n * @returns {Codegen} Codegen instance\n */\nfunction decoder(mtype) {\n /* eslint-disable no-unexpected-multiline */\n var gen = util.codegen([\"r\", \"l\"], mtype.name + \"$decode\")\n (\"if(!(r instanceof Reader))\")\n (\"r=Reader.create(r)\")\n (\"var c=l===undefined?r.len:r.pos+l,m=new this.ctor\" + (mtype.fieldsArray.filter(function(field) { return field.map; }).length ? \",k,value\" : \"\"))\n (\"while(r.pos>>3){\");\n\n var i = 0;\n for (; i < /* initializes */ mtype.fieldsArray.length; ++i) {\n var field = mtype._fieldsArray[i].resolve(),\n type = field.resolvedType instanceof Enum ? \"int32\" : field.type,\n ref = \"m\" + util.safeProp(field.name); gen\n (\"case %i:\", field.id);\n\n // Map fields\n if (field.map) { gen\n (\"if(%s===util.emptyObject)\", ref)\n (\"%s={}\", ref)\n (\"var c2 = r.uint32()+r.pos\");\n\n if (types.defaults[field.keyType] !== undefined) gen\n (\"k=%j\", types.defaults[field.keyType]);\n else gen\n (\"k=null\");\n\n if (types.defaults[type] !== undefined) gen\n (\"value=%j\", types.defaults[type]);\n else gen\n (\"value=null\");\n\n gen\n (\"while(r.pos>>3){\")\n (\"case 1: k=r.%s(); break\", field.keyType)\n (\"case 2:\");\n\n if (types.basic[type] === undefined) gen\n (\"value=types[%i].decode(r,r.uint32())\", i); // can't be groups\n else gen\n (\"value=r.%s()\", type);\n\n gen\n (\"break\")\n (\"default:\")\n (\"r.skipType(tag2&7)\")\n (\"break\")\n (\"}\")\n (\"}\");\n\n if (types.long[field.keyType] !== undefined) gen\n (\"%s[typeof k===\\\"object\\\"?util.longToHash(k):k]=value\", ref);\n else gen\n (\"%s[k]=value\", ref);\n\n // Repeated fields\n } else if (field.repeated) { gen\n\n (\"if(!(%s&&%s.length))\", ref, ref)\n (\"%s=[]\", ref);\n\n // Packable (always check for forward and backward compatiblity)\n if (types.packed[type] !== undefined) gen\n (\"if((t&7)===2){\")\n (\"var c2=r.uint32()+r.pos\")\n (\"while(r.pos}\n * @const\n */\nutil.emptyArray = Object.freeze ? Object.freeze([]) : /* istanbul ignore next */ []; // used on prototypes\n\n/**\n * An immutable empty object.\n * @type {Object}\n * @const\n */\nutil.emptyObject = Object.freeze ? Object.freeze({}) : /* istanbul ignore next */ {}; // used on prototypes\n\n/**\n * Tests if the specified value is an integer.\n * @function\n * @param {*} value Value to test\n * @returns {boolean} `true` if the value is an integer\n */\nutil.isInteger = Number.isInteger || /* istanbul ignore next */ function isInteger(value) {\n return typeof value === \"number\" && isFinite(value) && Math.floor(value) === value;\n};\n\n/**\n * Tests if the specified value is a string.\n * @param {*} value Value to test\n * @returns {boolean} `true` if the value is a string\n */\nutil.isString = function isString(value) {\n return typeof value === \"string\" || value instanceof String;\n};\n\n/**\n * Tests if the specified value is a non-null object.\n * @param {*} value Value to test\n * @returns {boolean} `true` if the value is a non-null object\n */\nutil.isObject = function isObject(value) {\n return value && typeof value === \"object\";\n};\n\n/**\n * Checks if a property on a message is considered to be present.\n * This is an alias of {@link util.isSet}.\n * @function\n * @param {Object} obj Plain object or message instance\n * @param {string} prop Property name\n * @returns {boolean} `true` if considered to be present, otherwise `false`\n */\nutil.isset =\n\n/**\n * Checks if a property on a message is considered to be present.\n * @param {Object} obj Plain object or message instance\n * @param {string} prop Property name\n * @returns {boolean} `true` if considered to be present, otherwise `false`\n */\nutil.isSet = function isSet(obj, prop) {\n var value = obj[prop];\n if (value != null && obj.hasOwnProperty(prop)) // eslint-disable-line eqeqeq, no-prototype-builtins\n return typeof value !== \"object\" || (Array.isArray(value) ? value.length : Object.keys(value).length) > 0;\n return false;\n};\n\n/**\n * Any compatible Buffer instance.\n * This is a minimal stand-alone definition of a Buffer instance. The actual type is that exported by node's typings.\n * @interface Buffer\n * @extends Uint8Array\n */\n\n/**\n * Node's Buffer class if available.\n * @type {Constructor}\n */\nutil.Buffer = (function() {\n try {\n var Buffer = util.inquire(\"buffer\").Buffer;\n // refuse to use non-node buffers if not explicitly assigned (perf reasons):\n return Buffer.prototype.utf8Write ? Buffer : /* istanbul ignore next */ null;\n } catch (e) {\n /* istanbul ignore next */\n return null;\n }\n})();\n\n// Internal alias of or polyfull for Buffer.from.\nutil._Buffer_from = null;\n\n// Internal alias of or polyfill for Buffer.allocUnsafe.\nutil._Buffer_allocUnsafe = null;\n\n/**\n * Creates a new buffer of whatever type supported by the environment.\n * @param {number|number[]} [sizeOrArray=0] Buffer size or number array\n * @returns {Uint8Array|Buffer} Buffer\n */\nutil.newBuffer = function newBuffer(sizeOrArray) {\n /* istanbul ignore next */\n return typeof sizeOrArray === \"number\"\n ? util.Buffer\n ? util._Buffer_allocUnsafe(sizeOrArray)\n : new util.Array(sizeOrArray)\n : util.Buffer\n ? util._Buffer_from(sizeOrArray)\n : typeof Uint8Array === \"undefined\"\n ? sizeOrArray\n : new Uint8Array(sizeOrArray);\n};\n\n/**\n * Array implementation used in the browser. `Uint8Array` if supported, otherwise `Array`.\n * @type {Constructor}\n */\nutil.Array = typeof Uint8Array !== \"undefined\" ? Uint8Array /* istanbul ignore next */ : Array;\n\n/**\n * Any compatible Long instance.\n * This is a minimal stand-alone definition of a Long instance. The actual type is that exported by long.js.\n * @interface Long\n * @property {number} low Low bits\n * @property {number} high High bits\n * @property {boolean} unsigned Whether unsigned or not\n */\n\n/**\n * Long.js's Long class if available.\n * @type {Constructor}\n */\nutil.Long = /* istanbul ignore next */ util.global.dcodeIO && /* istanbul ignore next */ util.global.dcodeIO.Long\n || /* istanbul ignore next */ util.global.Long\n || util.inquire(\"long\");\n\n/**\n * Regular expression used to verify 2 bit (`bool`) map keys.\n * @type {RegExp}\n * @const\n */\nutil.key2Re = /^true|false|0|1$/;\n\n/**\n * Regular expression used to verify 32 bit (`int32` etc.) map keys.\n * @type {RegExp}\n * @const\n */\nutil.key32Re = /^-?(?:0|[1-9][0-9]*)$/;\n\n/**\n * Regular expression used to verify 64 bit (`int64` etc.) map keys.\n * @type {RegExp}\n * @const\n */\nutil.key64Re = /^(?:[\\\\x00-\\\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;\n\n/**\n * Converts a number or long to an 8 characters long hash string.\n * @param {Long|number} value Value to convert\n * @returns {string} Hash\n */\nutil.longToHash = function longToHash(value) {\n return value\n ? util.LongBits.from(value).toHash()\n : util.LongBits.zeroHash;\n};\n\n/**\n * Converts an 8 characters long hash string to a long or number.\n * @param {string} hash Hash\n * @param {boolean} [unsigned=false] Whether unsigned or not\n * @returns {Long|number} Original value\n */\nutil.longFromHash = function longFromHash(hash, unsigned) {\n var bits = util.LongBits.fromHash(hash);\n if (util.Long)\n return util.Long.fromBits(bits.lo, bits.hi, unsigned);\n return bits.toNumber(Boolean(unsigned));\n};\n\n/**\n * Merges the properties of the source object into the destination object.\n * @memberof util\n * @param {Object.} dst Destination object\n * @param {Object.} src Source object\n * @param {boolean} [ifNotSet=false] Merges only if the key is not already set\n * @returns {Object.} Destination object\n */\nfunction merge(dst, src, ifNotSet) { // used by converters\n for (var keys = Object.keys(src), i = 0; i < keys.length; ++i)\n if (dst[keys[i]] === undefined || !ifNotSet)\n dst[keys[i]] = src[keys[i]];\n return dst;\n}\n\nutil.merge = merge;\n\n/**\n * Converts the first character of a string to lower case.\n * @param {string} str String to convert\n * @returns {string} Converted string\n */\nutil.lcFirst = function lcFirst(str) {\n return str.charAt(0).toLowerCase() + str.substring(1);\n};\n\n/**\n * Creates a custom error constructor.\n * @memberof util\n * @param {string} name Error name\n * @returns {Constructor} Custom error constructor\n */\nfunction newError(name) {\n\n function CustomError(message, properties) {\n\n if (!(this instanceof CustomError))\n return new CustomError(message, properties);\n\n // Error.call(this, message);\n // ^ just returns a new error instance because the ctor can be called as a function\n\n Object.defineProperty(this, \"message\", { get: function() { return message; } });\n\n /* istanbul ignore next */\n if (Error.captureStackTrace) // node\n Error.captureStackTrace(this, CustomError);\n else\n Object.defineProperty(this, \"stack\", { value: new Error().stack || \"\" });\n\n if (properties)\n merge(this, properties);\n }\n\n (CustomError.prototype = Object.create(Error.prototype)).constructor = CustomError;\n\n Object.defineProperty(CustomError.prototype, \"name\", { get: function() { return name; } });\n\n CustomError.prototype.toString = function toString() {\n return this.name + \": \" + this.message;\n };\n\n return CustomError;\n}\n\nutil.newError = newError;\n\n/**\n * Constructs a new protocol error.\n * @classdesc Error subclass indicating a protocol specifc error.\n * @memberof util\n * @extends Error\n * @template T extends Message\n * @constructor\n * @param {string} message Error message\n * @param {Object.} [properties] Additional properties\n * @example\n * try {\n * MyMessage.decode(someBuffer); // throws if required fields are missing\n * } catch (e) {\n * if (e instanceof ProtocolError && e.instance)\n * console.log(\"decoded so far: \" + JSON.stringify(e.instance));\n * }\n */\nutil.ProtocolError = newError(\"ProtocolError\");\n\n/**\n * So far decoded message instance.\n * @name util.ProtocolError#instance\n * @type {Message}\n */\n\n/**\n * A OneOf getter as returned by {@link util.oneOfGetter}.\n * @typedef OneOfGetter\n * @type {function}\n * @returns {string|undefined} Set field name, if any\n */\n\n/**\n * Builds a getter for a oneof's present field name.\n * @param {string[]} fieldNames Field names\n * @returns {OneOfGetter} Unbound getter\n */\nutil.oneOfGetter = function getOneOf(fieldNames) {\n var fieldMap = {};\n for (var i = 0; i < fieldNames.length; ++i)\n fieldMap[fieldNames[i]] = 1;\n\n /**\n * @returns {string|undefined} Set field name, if any\n * @this Object\n * @ignore\n */\n return function() { // eslint-disable-line consistent-return\n for (var keys = Object.keys(this), i = keys.length - 1; i > -1; --i)\n if (fieldMap[keys[i]] === 1 && this[keys[i]] !== undefined && this[keys[i]] !== null)\n return keys[i];\n };\n};\n\n/**\n * A OneOf setter as returned by {@link util.oneOfSetter}.\n * @typedef OneOfSetter\n * @type {function}\n * @param {string|undefined} value Field name\n * @returns {undefined}\n */\n\n/**\n * Builds a setter for a oneof's present field name.\n * @param {string[]} fieldNames Field names\n * @returns {OneOfSetter} Unbound setter\n */\nutil.oneOfSetter = function setOneOf(fieldNames) {\n\n /**\n * @param {string} name Field name\n * @returns {undefined}\n * @this Object\n * @ignore\n */\n return function(name) {\n for (var i = 0; i < fieldNames.length; ++i)\n if (fieldNames[i] !== name)\n delete this[fieldNames[i]];\n };\n};\n\n/**\n * Default conversion options used for {@link Message#toJSON} implementations.\n *\n * These options are close to proto3's JSON mapping with the exception that internal types like Any are handled just like messages. More precisely:\n *\n * - Longs become strings\n * - Enums become string keys\n * - Bytes become base64 encoded strings\n * - (Sub-)Messages become plain objects\n * - Maps become plain objects with all string keys\n * - Repeated fields become arrays\n * - NaN and Infinity for float and double fields become strings\n *\n * @type {IConversionOptions}\n * @see https://developers.google.com/protocol-buffers/docs/proto3?hl=en#json\n */\nutil.toJSONOptions = {\n longs: String,\n enums: String,\n bytes: String,\n json: true\n};\n\n// Sets up buffer utility according to the environment (called in index-minimal)\nutil._configure = function() {\n var Buffer = util.Buffer;\n /* istanbul ignore if */\n if (!Buffer) {\n util._Buffer_from = util._Buffer_allocUnsafe = null;\n return;\n }\n // because node 4.x buffers are incompatible & immutable\n // see: https://github.com/dcodeIO/protobuf.js/pull/665\n util._Buffer_from = Buffer.from !== Uint8Array.from && Buffer.from ||\n /* istanbul ignore next */\n function Buffer_from(value, encoding) {\n return new Buffer(value, encoding);\n };\n util._Buffer_allocUnsafe = Buffer.allocUnsafe ||\n /* istanbul ignore next */\n function Buffer_allocUnsafe(size) {\n return new Buffer(size);\n };\n};\n","\"use strict\";\r\nmodule.exports = codegen;\r\n\r\n/**\r\n * Begins generating a function.\r\n * @memberof util\r\n * @param {string[]} functionParams Function parameter names\r\n * @param {string} [functionName] Function name if not anonymous\r\n * @returns {Codegen} Appender that appends code to the function's body\r\n */\r\nfunction codegen(functionParams, functionName) {\r\n\r\n /* istanbul ignore if */\r\n if (typeof functionParams === \"string\") {\r\n functionName = functionParams;\r\n functionParams = undefined;\r\n }\r\n\r\n var body = [];\r\n\r\n /**\r\n * Appends code to the function's body or finishes generation.\r\n * @typedef Codegen\r\n * @type {function}\r\n * @param {string|Object.} [formatStringOrScope] Format string or, to finish the function, an object of additional scope variables, if any\r\n * @param {...*} [formatParams] Format parameters\r\n * @returns {Codegen|Function} Itself or the generated function if finished\r\n * @throws {Error} If format parameter counts do not match\r\n */\r\n\r\n function Codegen(formatStringOrScope) {\r\n // note that explicit array handling below makes this ~50% faster\r\n\r\n // finish the function\r\n if (typeof formatStringOrScope !== \"string\") {\r\n var source = toString();\r\n if (codegen.verbose)\r\n console.log(\"codegen: \" + source); // eslint-disable-line no-console\r\n source = \"return \" + source;\r\n if (formatStringOrScope) {\r\n var scopeKeys = Object.keys(formatStringOrScope),\r\n scopeParams = new Array(scopeKeys.length + 1),\r\n scopeValues = new Array(scopeKeys.length),\r\n scopeOffset = 0;\r\n while (scopeOffset < scopeKeys.length) {\r\n scopeParams[scopeOffset] = scopeKeys[scopeOffset];\r\n scopeValues[scopeOffset] = formatStringOrScope[scopeKeys[scopeOffset++]];\r\n }\r\n scopeParams[scopeOffset] = source;\r\n return Function.apply(null, scopeParams).apply(null, scopeValues); // eslint-disable-line no-new-func\r\n }\r\n return Function(source)(); // eslint-disable-line no-new-func\r\n }\r\n\r\n // otherwise append to body\r\n var formatParams = new Array(arguments.length - 1),\r\n formatOffset = 0;\r\n while (formatOffset < formatParams.length)\r\n formatParams[formatOffset] = arguments[++formatOffset];\r\n formatOffset = 0;\r\n formatStringOrScope = formatStringOrScope.replace(/%([%dfijs])/g, function replace($0, $1) {\r\n var value = formatParams[formatOffset++];\r\n switch ($1) {\r\n case \"d\": case \"f\": return String(Number(value));\r\n case \"i\": return String(Math.floor(value));\r\n case \"j\": return JSON.stringify(value);\r\n case \"s\": return String(value);\r\n }\r\n return \"%\";\r\n });\r\n if (formatOffset !== formatParams.length)\r\n throw Error(\"parameter count mismatch\");\r\n body.push(formatStringOrScope);\r\n return Codegen;\r\n }\r\n\r\n function toString(functionNameOverride) {\r\n return \"function \" + (functionNameOverride || functionName || \"\") + \"(\" + (functionParams && functionParams.join(\",\") || \"\") + \"){\\n \" + body.join(\"\\n \") + \"\\n}\";\r\n }\r\n\r\n Codegen.toString = toString;\r\n return Codegen;\r\n}\r\n\r\n/**\r\n * Begins generating a function.\r\n * @memberof util\r\n * @function codegen\r\n * @param {string} [functionName] Function name if not anonymous\r\n * @returns {Codegen} Appender that appends code to the function's body\r\n * @variation 2\r\n */\r\n\r\n/**\r\n * When set to `true`, codegen will log generated code to console. Useful for debugging.\r\n * @name util.codegen.verbose\r\n * @type {boolean}\r\n */\r\ncodegen.verbose = false;\r\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineProperty = require('../internals/object-define-property').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","var makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","\"use strict\";\nmodule.exports = Root;\n\n// extends Namespace\nvar Namespace = require(\"./namespace\");\n((Root.prototype = Object.create(Namespace.prototype)).constructor = Root).className = \"Root\";\n\nvar Field = require(\"./field\"),\n Enum = require(\"./enum\"),\n OneOf = require(\"./oneof\"),\n util = require(\"./util\");\n\nvar Type, // cyclic\n parse, // might be excluded\n common; // \"\n\n/**\n * Constructs a new root namespace instance.\n * @classdesc Root namespace wrapping all types, enums, services, sub-namespaces etc. that belong together.\n * @extends NamespaceBase\n * @constructor\n * @param {Object.} [options] Top level options\n */\nfunction Root(options) {\n Namespace.call(this, \"\", options);\n\n /**\n * Deferred extension fields.\n * @type {Field[]}\n */\n this.deferred = [];\n\n /**\n * Resolved file names of loaded files.\n * @type {string[]}\n */\n this.files = [];\n}\n\n/**\n * Loads a namespace descriptor into a root namespace.\n * @param {INamespace} json Nameespace descriptor\n * @param {Root} [root] Root namespace, defaults to create a new one if omitted\n * @returns {Root} Root namespace\n */\nRoot.fromJSON = function fromJSON(json, root) {\n if (!root)\n root = new Root();\n if (json.options)\n root.setOptions(json.options);\n return root.addJSON(json.nested);\n};\n\n/**\n * Resolves the path of an imported file, relative to the importing origin.\n * This method exists so you can override it with your own logic in case your imports are scattered over multiple directories.\n * @function\n * @param {string} origin The file name of the importing file\n * @param {string} target The file name being imported\n * @returns {string|null} Resolved path to `target` or `null` to skip the file\n */\nRoot.prototype.resolvePath = util.path.resolve;\n\n/**\n * Fetch content from file path or url\n * This method exists so you can override it with your own logic.\n * @function\n * @param {string} path File path or url\n * @param {FetchCallback} callback Callback function\n * @returns {undefined}\n */\nRoot.prototype.fetch = util.fetch;\n\n// A symbol-like function to safely signal synchronous loading\n/* istanbul ignore next */\nfunction SYNC() {} // eslint-disable-line no-empty-function\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into this root namespace and calls the callback.\n * @param {string|string[]} filename Names of one or multiple files to load\n * @param {IParseOptions} options Parse options\n * @param {LoadCallback} callback Callback function\n * @returns {undefined}\n */\nRoot.prototype.load = function load(filename, options, callback) {\n if (typeof options === \"function\") {\n callback = options;\n options = undefined;\n }\n var self = this;\n if (!callback)\n return util.asPromise(load, self, filename, options);\n\n var sync = callback === SYNC; // undocumented\n\n // Finishes loading by calling the callback (exactly once)\n function finish(err, root) {\n /* istanbul ignore if */\n if (!callback)\n return;\n var cb = callback;\n callback = null;\n if (sync)\n throw err;\n cb(err, root);\n }\n\n // Bundled definition existence checking\n function getBundledFileName(filename) {\n var idx = filename.lastIndexOf(\"google/protobuf/\");\n if (idx > -1) {\n var altname = filename.substring(idx);\n if (altname in common) return altname;\n }\n return null;\n }\n\n // Processes a single file\n function process(filename, source) {\n try {\n if (util.isString(source) && source.charAt(0) === \"{\")\n source = JSON.parse(source);\n if (!util.isString(source))\n self.setOptions(source.options).addJSON(source.nested);\n else {\n parse.filename = filename;\n var parsed = parse(source, self, options),\n resolved,\n i = 0;\n if (parsed.imports)\n for (; i < parsed.imports.length; ++i)\n if (resolved = getBundledFileName(parsed.imports[i]) || self.resolvePath(filename, parsed.imports[i]))\n fetch(resolved);\n if (parsed.weakImports)\n for (i = 0; i < parsed.weakImports.length; ++i)\n if (resolved = getBundledFileName(parsed.weakImports[i]) || self.resolvePath(filename, parsed.weakImports[i]))\n fetch(resolved, true);\n }\n } catch (err) {\n finish(err);\n }\n if (!sync && !queued)\n finish(null, self); // only once anyway\n }\n\n // Fetches a single file\n function fetch(filename, weak) {\n\n // Skip if already loaded / attempted\n if (self.files.indexOf(filename) > -1)\n return;\n self.files.push(filename);\n\n // Shortcut bundled definitions\n if (filename in common) {\n if (sync)\n process(filename, common[filename]);\n else {\n ++queued;\n setTimeout(function() {\n --queued;\n process(filename, common[filename]);\n });\n }\n return;\n }\n\n // Otherwise fetch from disk or network\n if (sync) {\n var source;\n try {\n source = util.fs.readFileSync(filename).toString(\"utf8\");\n } catch (err) {\n if (!weak)\n finish(err);\n return;\n }\n process(filename, source);\n } else {\n ++queued;\n self.fetch(filename, function(err, source) {\n --queued;\n /* istanbul ignore if */\n if (!callback)\n return; // terminated meanwhile\n if (err) {\n /* istanbul ignore else */\n if (!weak)\n finish(err);\n else if (!queued) // can't be covered reliably\n finish(null, self);\n return;\n }\n process(filename, source);\n });\n }\n }\n var queued = 0;\n\n // Assembling the root namespace doesn't require working type\n // references anymore, so we can load everything in parallel\n if (util.isString(filename))\n filename = [ filename ];\n for (var i = 0, resolved; i < filename.length; ++i)\n if (resolved = self.resolvePath(\"\", filename[i]))\n fetch(resolved);\n\n if (sync)\n return self;\n if (!queued)\n finish(null, self);\n return undefined;\n};\n// function load(filename:string, options:IParseOptions, callback:LoadCallback):undefined\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into this root namespace and calls the callback.\n * @function Root#load\n * @param {string|string[]} filename Names of one or multiple files to load\n * @param {LoadCallback} callback Callback function\n * @returns {undefined}\n * @variation 2\n */\n// function load(filename:string, callback:LoadCallback):undefined\n\n/**\n * Loads one or multiple .proto or preprocessed .json files into this root namespace and returns a promise.\n * @function Root#load\n * @param {string|string[]} filename Names of one or multiple files to load\n * @param {IParseOptions} [options] Parse options. Defaults to {@link parse.defaults} when omitted.\n * @returns {Promise} Promise\n * @variation 3\n */\n// function load(filename:string, [options:IParseOptions]):Promise\n\n/**\n * Synchronously loads one or multiple .proto or preprocessed .json files into this root namespace (node only).\n * @function Root#loadSync\n * @param {string|string[]} filename Names of one or multiple files to load\n * @param {IParseOptions} [options] Parse options. Defaults to {@link parse.defaults} when omitted.\n * @returns {Root} Root namespace\n * @throws {Error} If synchronous fetching is not supported (i.e. in browsers) or if a file's syntax is invalid\n */\nRoot.prototype.loadSync = function loadSync(filename, options) {\n if (!util.isNode)\n throw Error(\"not supported\");\n return this.load(filename, options, SYNC);\n};\n\n/**\n * @override\n */\nRoot.prototype.resolveAll = function resolveAll() {\n if (this.deferred.length)\n throw Error(\"unresolvable extensions: \" + this.deferred.map(function(field) {\n return \"'extend \" + field.extend + \"' in \" + field.parent.fullName;\n }).join(\", \"));\n return Namespace.prototype.resolveAll.call(this);\n};\n\n// only uppercased (and thus conflict-free) children are exposed, see below\nvar exposeRe = /^[A-Z]/;\n\n/**\n * Handles a deferred declaring extension field by creating a sister field to represent it within its extended type.\n * @param {Root} root Root instance\n * @param {Field} field Declaring extension field witin the declaring type\n * @returns {boolean} `true` if successfully added to the extended type, `false` otherwise\n * @inner\n * @ignore\n */\nfunction tryHandleExtension(root, field) {\n var extendedType = field.parent.lookup(field.extend);\n if (extendedType) {\n var sisterField = new Field(field.fullName, field.id, field.type, field.rule, undefined, field.options);\n sisterField.declaringField = field;\n field.extensionField = sisterField;\n extendedType.add(sisterField);\n return true;\n }\n return false;\n}\n\n/**\n * Called when any object is added to this root or its sub-namespaces.\n * @param {ReflectionObject} object Object added\n * @returns {undefined}\n * @private\n */\nRoot.prototype._handleAdd = function _handleAdd(object) {\n if (object instanceof Field) {\n\n if (/* an extension field (implies not part of a oneof) */ object.extend !== undefined && /* not already handled */ !object.extensionField)\n if (!tryHandleExtension(this, object))\n this.deferred.push(object);\n\n } else if (object instanceof Enum) {\n\n if (exposeRe.test(object.name))\n object.parent[object.name] = object.values; // expose enum values as property of its parent\n\n } else if (!(object instanceof OneOf)) /* everything else is a namespace */ {\n\n if (object instanceof Type) // Try to handle any deferred extensions\n for (var i = 0; i < this.deferred.length;)\n if (tryHandleExtension(this, this.deferred[i]))\n this.deferred.splice(i, 1);\n else\n ++i;\n for (var j = 0; j < /* initializes */ object.nestedArray.length; ++j) // recurse into the namespace\n this._handleAdd(object._nestedArray[j]);\n if (exposeRe.test(object.name))\n object.parent[object.name] = object; // expose namespace as property of its parent\n }\n\n // The above also adds uppercased (and thus conflict-free) nested types, services and enums as\n // properties of namespaces just like static code does. This allows using a .d.ts generated for\n // a static module with reflection-based solutions where the condition is met.\n};\n\n/**\n * Called when any object is removed from this root or its sub-namespaces.\n * @param {ReflectionObject} object Object removed\n * @returns {undefined}\n * @private\n */\nRoot.prototype._handleRemove = function _handleRemove(object) {\n if (object instanceof Field) {\n\n if (/* an extension field */ object.extend !== undefined) {\n if (/* already handled */ object.extensionField) { // remove its sister field\n object.extensionField.parent.remove(object.extensionField);\n object.extensionField = null;\n } else { // cancel the extension\n var index = this.deferred.indexOf(object);\n /* istanbul ignore else */\n if (index > -1)\n this.deferred.splice(index, 1);\n }\n }\n\n } else if (object instanceof Enum) {\n\n if (exposeRe.test(object.name))\n delete object.parent[object.name]; // unexpose enum values\n\n } else if (object instanceof Namespace) {\n\n for (var i = 0; i < /* initializes */ object.nestedArray.length; ++i) // recurse into the namespace\n this._handleRemove(object._nestedArray[i]);\n\n if (exposeRe.test(object.name))\n delete object.parent[object.name]; // unexpose namespaces\n\n }\n};\n\n// Sets up cyclic dependencies (called in index-light)\nRoot._configure = function(Type_, parse_, common_) {\n Type = Type_;\n parse = parse_;\n common = common_;\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceHardware.vue?vue&type=style&index=0&id=4570f266&prod&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceWRTC.vue?vue&type=style&index=0&id=ef1be268&prod&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceBitlocker.vue?vue&type=style&index=0&id=5d32a1be&prod&scoped=true&lang=css&\"","\"use strict\";\n\n/**\n * Wrappers for common types.\n * @type {Object.}\n * @const\n */\nvar wrappers = exports;\n\nvar Message = require(\"./message\");\n\n/**\n * From object converter part of an {@link IWrapper}.\n * @typedef WrapperFromObjectConverter\n * @type {function}\n * @param {Object.} object Plain object\n * @returns {Message<{}>} Message instance\n * @this Type\n */\n\n/**\n * To object converter part of an {@link IWrapper}.\n * @typedef WrapperToObjectConverter\n * @type {function}\n * @param {Message<{}>} message Message instance\n * @param {IConversionOptions} [options] Conversion options\n * @returns {Object.} Plain object\n * @this Type\n */\n\n/**\n * Common type wrapper part of {@link wrappers}.\n * @interface IWrapper\n * @property {WrapperFromObjectConverter} [fromObject] From object converter\n * @property {WrapperToObjectConverter} [toObject] To object converter\n */\n\n// Custom wrapper for Any\nwrappers[\".google.protobuf.Any\"] = {\n\n fromObject: function(object) {\n\n // unwrap value type if mapped\n if (object && object[\"@type\"]) {\n // Only use fully qualified type name after the last '/'\n var name = object[\"@type\"].substring(object[\"@type\"].lastIndexOf(\"/\") + 1);\n var type = this.lookup(name);\n /* istanbul ignore else */\n if (type) {\n // type_url does not accept leading \".\"\n var type_url = object[\"@type\"].charAt(0) === \".\" ?\n object[\"@type\"].substr(1) : object[\"@type\"];\n // type_url prefix is optional, but path seperator is required\n if (type_url.indexOf(\"/\") === -1) {\n type_url = \"/\" + type_url;\n }\n return this.create({\n type_url: type_url,\n value: type.encode(type.fromObject(object)).finish()\n });\n }\n }\n\n return this.fromObject(object);\n },\n\n toObject: function(message, options) {\n\n // Default prefix\n var googleApi = \"type.googleapis.com/\";\n var prefix = \"\";\n var name = \"\";\n\n // decode value if requested and unmapped\n if (options && options.json && message.type_url && message.value) {\n // Only use fully qualified type name after the last '/'\n name = message.type_url.substring(message.type_url.lastIndexOf(\"/\") + 1);\n // Separate the prefix used\n prefix = message.type_url.substring(0, message.type_url.lastIndexOf(\"/\") + 1);\n var type = this.lookup(name);\n /* istanbul ignore else */\n if (type)\n message = type.decode(message.value);\n }\n\n // wrap value if unmapped\n if (!(message instanceof this.ctor) && message instanceof Message) {\n var object = message.$type.toObject(message, options);\n var messageName = message.$type.fullName[0] === \".\" ?\n message.$type.fullName.substr(1) : message.$type.fullName;\n // Default to type.googleapis.com prefix if no prefix is used\n if (prefix === \"\") {\n prefix = googleApi;\n }\n name = prefix + messageName;\n object[\"@type\"] = name;\n return object;\n }\n\n return this.toObject(message, options);\n }\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw $RangeError(\"The argument can't be less than 0\");\n return result;\n};\n"],"sourceRoot":""}